Creando usuarios con Power Shell

Se abre el telón, salgo yo en jueves santo con media empresa de vacaciones. En eso que entra un ticket mas o menos urgente que hay que resolver de un cliente con el que más o menos no trabajo habitualmente. Me conecto al entorno de desarrollo, hago el cambio y cuando voy a probarlo… ZAS! En toda la boca. Mi usuario no está creado en la base de datos. Soy administrador del servidor, del SQL, puedo tocar objetos, etc. Pero como mi usuario no esta creado en la base de datos y no tiene roles activos… en definitiva, no puedo ni llegar a listar las empresas que hay en la base de datos.

Entonces viene CMD se mete en una cabina de teléfonos, se quita las gafas de pasta y sale Power Shell! Guapooo! Salaooo! (Creo que me estoy creando un problema de la ostia si algún día decido traducir este blog).

Aquí vienen los pasos que he seguido para crear un usuario en NAV sin entrar en NAV:

  • Ponte el antifaz de malo: Un gorro de lana negro combina a la perfección. Vas a darte acceso a algo a lo que no tienes acceso. Es lo más cerca que has estado o vas a estar nunca de ser un hacker así que disfrútalo.
  • Abre Power Shell en modo Administrador: Que te voy a contar. Te vas al servidor donde tengas instalado el servicio de NAV, Botón derecho en el icono de Power Shell y ejecutar como administrador.
  • Cargar la librería de funciones de NAV: Esto es algo que se les olvida explicar a muchos blogs o manuales de ayuda de Microsoft. El primer comando que tenemos que picar sirve para agregar funciones en la sesión de Power Shell que nos permitan interactuar con NAV:

    Import-Module 'C:Program FilesMicrosoft Dynamics NAV71ServiceNavAdminTool.ps1'

    Actualización: Si este paso ta da problemas, es posible que primero tengas que permitirte usar scripts de PowerShell. He encontrado por ahí que se hace metiendo este comando:

    Set-ExecutionPolicy RemoteSigned

    Hijos míos, no hace falta que os diga que esa ruta es dónde yo he encontrado el fichero y que necesitaréis adaptarla a vuestro servidor.

  • Crea tu usuario en NAV: Con este comando estarás creando un usuario sin permisos en NAV:

    New-NAVServerUser NOMBRE_DE_LA_INSTANCIA_DE_NAV -WindowsAccount DOMINIOUSUARIO_NUEVO

    Felicidades. Ya estás en Matrix.

  • Dáte permisos: Tienes barra libre y te pides un agua del grifo? Nos vamos a dar permisos de SUPER usando este comando:

    New-NAVServerUserPermissionSet

    Verás que Power Shell te empieza a pedir los parámetros básicos como usuario, rol e Instancia.

Ya está. Seguramente ya puedes entrar. Si no, siempre puedes usar esta herramienta. No os olvidéis de sacaros el antifaz y el gorro. A la empresas no les suele gustar tener gente con antifaz junto a la máquina del café.