For the complete documentation index, see llms.txt. This page is also available as Markdown.

Alojamiento

Puede alojar PowerShell Universal como servicio de Windows, en IIS, como una aplicación web de Azure o simplemente como una aplicación independiente. Si lo ejecuta en Windows, le sugerimos un servicio de Windows o IIS.

Alojamiento como servicio de Windows

Para alojarlo como servicio de Windows, puede descargar e instalar el MSI de PowerShell Universal. El MSI instalará automáticamente el servicio de PowerShell Universal y lo iniciará. Los trabajos se ejecutarán bajo la cuenta del sistema de forma predeterminada, pero puede configurar el servicio para que se ejecute bajo otra cuenta después de la instalación.

Una vez que el MSI haya finalizado la instalación, su navegador web predeterminado se abrirá en http://localhost:5000 para iniciar sesión. Las credenciales de inicio de sesión predeterminadas son Admin y cualquier contraseña.

Configurar un servicio de Windows manualmente

No necesita usar el MSI para configurar Universal como servicio de Windows. También puede hacerlo manualmente con el siguiente script de PowerShell.

New-Service -Name "PowerShellUniversal" -BinaryPathName "Universal.Server.exe --service" -Description "PowerShell Universal server service." -DisplayName "PowerShell Universal" -StartupType Automatic
Start-Service PowerShellUniversal

Alojamiento en Azure

Consulte nuestra guía de alojamiento en Azure.

Alojamiento manual

También puede alojar el servidor Universal como una aplicación independiente. Simplemente ejecute Universal.Server.exe desde el directorio de binarios para utilizar la implementación del servidor web Kestrel en ASP.NET Core e iniciar el servidor web.

Configuración del servidor web

Esta sección se aplica a Universal cuando está alojado fuera de IIS.

Establecer el puerto y la dirección de escucha

Puede establecer el puerto del servidor Universal modificando el fichero appsettings.json. Recomendamos que cree un fichero appsettings.json en la carpeta de configuración predeterminada.

Windows

%ProgramData%\PowerShellUniversal

Linux

%HOME%/.PowerShellUniversal

Para establecer el puerto, cambie la sección de puntos de conexión de Kestrel del appsettings.json. De forma predeterminada, la configuración está definida para escuchar en el puerto 5000 y en cualquier dirección.

Configurar HTTPS

Para configurar HTTPS, puede ajustar el fichero appsettings.json para usar un certificado y un puerto concretos. La siguiente configuración usa el fichero testCert.pfx y testPassword y escucha en el puerto 5463.

Certificados PFX

Almacén de certificados

Para configurar un certificado en una ubicación y un almacén concretos, puede usar una configuración como esta. Al seleccionar el certificado por nombre de sujeto, asegúrese de usar el nombre común sin el prefijo CN=.

La ubicación puede ser CurrentUser o LocalMachine.

Almacén de certificados por huella digital

Puede usar la huella digital en lugar del sujeto en la versión 3.4 y posteriores.

Certificados PEM y de clave

Algunos proveedores, como Let's Encrypt y GoDaddy, emiten certificados como ficheros de texto PEM y de clave. Puede usar estos tipos de certificados directamente con el servidor web Kestrel. Deberá especificar la sección HttpsFromPem dentro de Endpoints para Kestrel.

Permisos

En Windows, el usuario que ejecuta el servicio de PowerShell Universal necesitará acceso al certificado para proporcionar correctamente compatibilidad con HTTPS. Esto suele ser un problema si el servicio usa una cuenta de servicio administrada de grupo. Puede usar el siguiente script de PowerShell para proporcionar los permisos adecuados.

Protocolo

De forma predeterminada, Universal escuchará en HTTP1 y HTTP2. Puede ajustar los protocolos en los que escucha el servidor estableciendo la propiedad Protocols. Por ejemplo, puede establecer específicamente la compatibilidad con HTTP1 y HTTP2 con la siguiente configuración.

Algunas versiones de Windows Server (como 2012R2) no admiten HTTP2. Para deshabilitar la compatibilidad con HTTP2, configure el listener para que escuche solo en HTTP1.

Para ver el conjunto completo de opciones de escucha, puede consultar la documentación de ASP.NET Core.

Cabeceras de seguridad

Las organizaciones pueden requerir que PowerShell Universal proporcione ciertas cabeceras de seguridad en las respuestas HTTP procedentes del servidor, entre las que se pueden incluir:

  • Strict-Transport-Security

  • Content-Security-Policy

  • X-Frame-Options

  • X-Content-Type-Options

  • X-XSS-Protection

  • Referrer-Policy

Puede usar la sección Kestrel \ Headers para definir estos valores.

Ejemplo: certificado autofirmado

En este ejemplo, mostraremos cómo crear un certificado autofirmado y usarlo con PowerShell Universal.

En primer lugar, cree un certificado autofirmado y guárdelo en el almacén del equipo local. Deberá ejecutar PowerShell como administrador. El almacén del equipo local es necesario porque PowerShell Universal puede estar ejecutándose como servicio y no con su cuenta.

A continuación, deberá configurar PowerShell Universal para que use el certificado. Esto se puede lograr editando o creando el fichero appsettings.json en %ProgramData%\PowerShellUniversal. Este fichero ya debería existir si realizó la instalación con el instalador MSI. El contenido del fichero debe incluir el nombre DNS de su certificado y la ubicación.

Para los certificados autofirmados, deberá incluir la opción AllowInvalid.

Una vez que haya actualizado el fichero appsettings.json, reinicie el servicio de PowerShell Universal. Ahora debería poder acceder a su sitio web de PowerShell Universal en https://localhost.

Consulte también

Última actualización

¿Te fue útil?