Compartir a través de


Administración de un dispositivo Azure Stack Edge Pro con FPGA mediante Windows PowerShell

Importante

Los dispositivos Azure Stack Edge Pro FPGA llegaron al final del ciclo de vida en febrero de 2024.

La solución Azure Stack Edge Pro FPGA permite procesar datos y enviarlos a través de la red a Azure. En este artículo se describen algunas de las tareas de configuración y administración del dispositivo Azure Stack Edge Pro FPGA. Puede usar Azure Portal, la interfaz de usuario web local o la interfaz de Windows PowerShell para administrar su dispositivo.

Este artículo se centra en las tareas que realizará mediante la interfaz de PowerShell.

Este artículo incluye los siguientes procedimientos:

  • Conectarse a la interfaz de PowerShell
  • Crear un paquete de soporte
  • Carga del certificado
  • Restablecer el dispositivo
  • Ver la información del dispositivo
  • Obtener los registros de proceso
  • Supervisar y solucionar problemas de los módulos de proceso

Conectarse a la interfaz de PowerShell

Dependiendo del sistema operativo del cliente, los procedimientos para conectarse de forma remota al dispositivo son diferentes.

Conexión de forma remota desde un cliente de Windows

Antes de comenzar, asegúrese de que el cliente de Windows ejecuta Windows PowerShell 5.0 o posterior.

Siga estos pasos para conectarse de forma remota desde un cliente de Windows.

  1. Ejecute una sesión de Windows PowerShell como administrador.

  2. Asegúrese de que el servicio Administración remota de Windows se ejecuta en el cliente. En el símbolo del sistema, escriba:

    winrm quickconfig

    Para más información, vea Instalación y configuración de Administración remota de Windows.

  3. Asigne una variable a la dirección IP del dispositivo.

    $ip = "<device_ip>"

    Reemplace <device_ip> por la dirección IP de su dispositivo.

  4. Para agregar la dirección IP del dispositivo a la lista de hosts de confianza del cliente, escriba el siguiente comando:

    Set-Item WSMan:\localhost\Client\TrustedHosts $ip -Concatenate -Force

  5. Inicie una sesión de Windows PowerShell en el dispositivo:

    Enter-PSSession -ComputerName $ip -Credential $ip\EdgeUser -ConfigurationName Minishell

  6. Proporcione la contraseña cuando se le solicite. Use la misma contraseña que se emplea para iniciar sesión en la interfaz de usuario web local. La contraseña de la interfaz de usuario web local predeterminada es Password1. Cuando se conecte correctamente al dispositivo mediante PowerShell remoto, verá la siguiente salida de ejemplo:

    Windows PowerShell
    Copyright (C) Microsoft Corporation. All rights reserved.
    
    PS C:\WINDOWS\system32> winrm quickconfig
    WinRM service is already running on this machine.
    PS C:\WINDOWS\system32> $ip = "10.100.10.10"
    PS C:\WINDOWS\system32> Set-Item WSMan:\localhost\Client\TrustedHosts $ip -Concatenate -Force
    PS C:\WINDOWS\system32> Enter-PSSession -ComputerName $ip -Credential $ip\EdgeUser -ConfigurationName Minishell
    
    WARNING: The Windows PowerShell interface of your device is intended to be used only for the initial network configuration. Please engage Microsoft Support if you need to access this interface to troubleshoot any potential issues you may be experiencing. Changes made through this interface without involving Microsoft Support could result in an unsupported configuration.
    [10.100.10.10]: PS>
    

Conexión de forma remota desde un cliente de Linux

En el cliente de Linux que usará para conectarse:

Para más información, vaya a Comunicación remota de PowerShell a través de SSH.

Siga estos pasos para conectarse de forma remota desde un cliente NFS.

  1. Para abrir la sesión de PowerShell, escriba:

    pwsh

  2. Para conectarse mediante el cliente remoto, escriba:

    Enter-PSSession -ComputerName $ip -Authentication Negotiate -ConfigurationName Minishell -Credential ~\EdgeUser

    Cuando se le solicite, proporcione la contraseña usada para iniciar sesión en el dispositivo.

Nota:

Este procedimiento no funciona en Mac OS.

Crear un paquete de soporte

Si experimenta problemas con el dispositivo, puede crear un paquete de soporte técnico de los registros del sistema. El servicio de soporte técnico de Microsoft usa este paquete para solucionar los problemas. Siga estos pasos para crear un paquete de soporte técnico:

  1. Conéctese a la interfaz de PowerShell del dispositivo.

  2. Use el comando Get-HcsNodeSupportPackage para crear un paquete de soporte técnico. El uso del cmdlet es de esta manera:

    Get-HcsNodeSupportPackage [-Path] <string> [-Zip] [-ZipFileName <string>] [-Include {None | RegistryKeys | EtwLogs
            | PeriodicEtwLogs | LogFiles | DumpLog | Platform | FullDumps | MiniDumps | ClusterManagementLog | ClusterLog |
            UpdateLogs | CbsLogs | StorageCmdlets | ClusterCmdlets | ConfigurationCmdlets | KernelDump | RollbackLogs |
            Symbols | NetworkCmdlets | NetworkCmds | Fltmc | ClusterStorageLogs | UTElement | UTFlag | SmbWmiProvider |
            TimeCmds | LocalUILogs | ClusterHealthLogs | BcdeditCommand | BitLockerCommand | DirStats | ComputeRolesLogs |
            ComputeCmdlets | DeviceGuard | Manifests | MeasuredBootLogs | Stats | PeriodicStatLogs | MigrationLogs |
            RollbackSupportPackage | ArchivedLogs | Default}] [-MinimumTimestamp <datetime>] [-MaximumTimestamp <datetime>]
            [-IncludeArchived] [-IncludePeriodicStats] [-Credential <pscredential>]  [<CommonParameters>]
    

    El cmdlet recopila registros de su dispositivo y copia esos registros en una red o un recurso compartido local especificados.

    Los parámetros usados son los siguientes:

    • -Path: especifica la red o la ruta de acceso local donde copiar el paquete de soporte técnico. (requerido)
    • -Credential: especifica las credenciales para acceder a la ruta de acceso protegida.
    • -Zip: especifica que se genere un archivo ZIP.
    • -Include: especifica los componentes que se incluirán en el paquete de soporte técnico. Si no se especifica, se da por hecho el valor Default.
    • -IncludeArchived: especifica que se incluyan los registros archivados en el paquete de soporte técnico.
    • -IncludePeriodicStats: especifica que se incluyan registros estadísticos periódicos en el paquete de soporte técnico.

Carga del certificado

Un certificado SSL correcto garantiza que envía la información cifrada al servidor correcto. Además del cifrado, el certificado también permite la autenticación. Puede cargar su propio certificado SSL de confianza mediante la interfaz de PowerShell del dispositivo.

  1. Conéctese a la interfaz de PowerShell.

  2. Use el cmdlet Set-HcsCertificate para cargar el certificado. Cuando se le solicite, proporcione los siguientes parámetros:

    • CertificateFilePath: ruta de acceso al recurso compartido que contiene el archivo de certificado en formato .pfx.

    • CertificatePassword: contraseña usada para proteger el certificado.

    • Credentials: nombre de usuario para acceder al recurso compartido que contiene el certificado. Proporcione la contraseña para el recurso compartido de red cuando se le solicite.

      En el ejemplo siguiente se muestra el uso de este cmdlet:

      Set-HcsCertificate -Scope LocalWebUI -CertificateFilePath "\\myfileshare\certificates\mycert.pfx" -CertificatePassword "mypassword" -Credential "Username"
      

También puede cargar certificados de IoT Edge para habilitar una conexión segura entre el dispositivo IoT Edge y los dispositivos de nivel inferior que pueden conectarse a él. Hay tres archivos (formato .pem) que debe instalar:

  • Certificado de entidad de certificación raíz o el propietario de la entidad de certificación
  • Certificado de entidad de certificación de dispositivo
  • Clave privada de dispositivo

En el siguiente ejemplo se muestra el uso de este cmdlet para instalar certificados de IoT Edge:

Set-HcsCertificate -Scope IotEdge -RootCACertificateFilePath "\\hcfs\root-ca-cert.pem" -DeviceCertificateFilePath "\\hcfs\device-ca-cert.pem\" -DeviceKeyFilePath "\\hcfs\device-private-key.pem" -Credential "username"

Cuando ejecute este cmdlet, se le solicitará que proporcione la contraseña para el recurso compartido de red.

Para obtener más información sobre los certificados, vaya a Certificados de Azure IoT Edge o a Instalación de los certificados en la puerta de enlace.

Ver la información del dispositivo

  1. Conéctese a la interfaz de PowerShell.

  2. Use Get-HcsApplianceInfo para obtener la información del dispositivo.

    En el ejemplo siguiente se muestra el uso de este cmdlet:

    [10.100.10.10]: PS>Get-HcsApplianceInfo
    
    Id                            : b2044bdb-56fd-4561-a90b-407b2a67bdfc
    FriendlyName                  : DBE-NBSVFQR94S6
    Name                          : DBE-NBSVFQR94S6
    SerialNumber                  : HCS-NBSVFQR94S6
    DeviceId                      : 40d7288d-cd28-481d-a1ea-87ba9e71ca6b
    Model                         : Virtual
    FriendlySoftwareVersion       : Data Box Gateway 1902
    HcsVersion                    : 1.4.771.324
    IsClustered                   : False
    IsVirtual                     : True
    LocalCapacityInMb             : 1964992
    SystemState                   : Initialized
    SystemStatus                  : Normal
    Type                          : DataBoxGateway
    CloudReadRateBytesPerSec      : 0
    CloudWriteRateBytesPerSec     : 0
    IsInitialPasswordSet          : True
    FriendlySoftwareVersionNumber : 1902
    UploadPolicy                  : All
    DataDiskResiliencySettingName : Simple
    ApplianceTypeFriendlyName     : Data Box Gateway
    IsRegistered                  : False
    

    Esta es una tabla que resume alguna de la información importante del dispositivo:

    Parámetro Descripción
    FriendlyName El nombre descriptivo del dispositivo, tal y como se configuró mediante la interfaz de usuario web local durante la implementación del dispositivo. El nombre descriptivo predeterminado es el número de serie del dispositivo.
    SerialNumber El número de serie del dispositivo es un número único asignado en la fábrica.
    Modelo El modelo del dispositivo Azure Stack Edge o Data Box Gateway. El modelo es físico para Azure Stack Edge y virtual para Data Box Gateway.
    FriendlySoftwareVersion La cadena descriptiva que corresponde a la versión de software del dispositivo. Para un sistema que ejecuta la versión preliminar, la versión de software descriptiva sería Data Box Edge 1902.
    HcsVersion La versión de software HCS que se ejecuta en el dispositivo. Por ejemplo, la versión de software HCS correspondiente a Data Box Edge 1902 es 1.4.771.324.
    LocalCapacityInMb La capacidad total local del dispositivo en megabits.
    IsRegistered Este valor indica si el dispositivo se activa con el servicio.

Restablecer el dispositivo

Para restablecer el dispositivo, debe borrar de forma segura todos los datos del disco de datos y del disco de arranque del dispositivo.

Utilice el cmdlet Reset-HcsAppliance para borrar tanto los discos de datos como el disco de arranque o solo los discos de datos. Los conmutadores SecureWipeBootDisk y SecureWipeDataDisks le permiten borrar el disco de arranque y los discos de datos, respectivamente.

El identificador SecureWipeBootDisk borra el disco de arranque, lo que hace que el dispositivo no se pueda usar. Solo se debería usar cuando el dispositivo necesite devolverse a Microsoft. Para más información, consulte Devolución o sustitución del dispositivo Azure Data Box Edge.

Si utiliza el restablecimiento del dispositivo en la interfaz de usuario web local, solo los discos de datos se borran de forma segura, pero el disco de arranque se mantiene intacto. El disco de arranque contiene la configuración del dispositivo.

  1. Conéctese a la interfaz de PowerShell.

  2. En el símbolo del sistema, escriba:

    Reset-HcsAppliance -SecureWipeBootDisk -SecureWipeDataDisks

    En el ejemplo siguiente se muestra cómo utilizar este cmdlet:

    [10.128.24.33]: PS>Reset-HcsAppliance -SecureWipeBootDisk -SecureWipeDataDisks
    
    Confirm
    Are you sure you want to perform this action?
    Performing the operation "Reset-HcsAppliance" on target "ShouldProcess appliance".
    [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): N
    

Obtener los registros de proceso

Si el rol de proceso está configurado en su dispositivo, también puede obtener los registros del proceso gracias a la interfaz de PowerShell.

  1. Conéctese a la interfaz de PowerShell.

  2. Use Get-AzureDataBoxEdgeComputeRoleLogs para obtener los registros del proceso del dispositivo.

    En el ejemplo siguiente se muestra el uso de este cmdlet:

    Get-AzureDataBoxEdgeComputeRoleLogs -Path "\\hcsfs\logs\myacct" -Credential "username" -FullLogCollection
    

    Aquí tiene hay una descripción de los parámetros que se usan en el cmdlet:

    • Path: proporcione una ruta de acceso de red al recurso compartido en el que quiere crear el paquete de registros del proceso.
    • Credential: proporcione el nombre de usuario del recurso compartido de red. Cuando ejecute este cmdlet, deberá proporcionar la contraseña del recurso compartido.
    • FullLogCollection: este parámetro garantiza que el paquete de registros contendrá todos los registros del proceso. De forma predeterminada, el paquete de registros contiene solo un subconjunto de registros.

Supervisar y solucionar problemas de los módulos de proceso

En un dispositivo Azure Stack Edge que tenga configurado el rol de proceso, puede solucionar problemas o supervisar el dispositivo con dos conjuntos diferentes de comandos.

  • Uso de comandos de iotedge Estos comandos están disponibles para las operaciones básicas del dispositivo.
  • Uso de comandos de dkrdbe Estos comandos están disponibles para un amplio conjunto de operaciones para el dispositivo.

Para ejecutar cualquiera de los comandos anteriores, debe conectarse a la interfaz de PowerShell.

Usar comandos iotedge

Para ver una lista de comandos disponibles, conéctese a la interfaz de PowerShell y utilice la función iotedge.

[10.100.10.10]: PS>iotedge -?                                                                                                                                                                                                 Usage: iotedge COMMAND

Commands:
   check
   list
   logs
   restart

[10.100.10.10]: PS>

En la tabla siguiente se proporciona una breve descripción de los comandos disponibles para iotedge:

comando Descripción
check Realiza comprobaciones automatizadas de problemas comunes de configuración y conectividad.
list Enumere los módulos
logs Captura los registros de un módulo.
restart Detiene y reinicia un módulo.

Usar comandos dkrdbe

Para ver una lista de comandos disponibles, conéctese a la interfaz de PowerShell y utilice la función dkrdbe.

[10.100.10.10]: PS>dkrdbe -?
Usage: dkrdbe COMMAND

Commands:
   image [prune]
   images
   inspect
   login
   logout
   logs
   port
   ps
   pull
   start
   stats
   stop
   system [df]
   top

[10.100.10.10]: PS>

En la tabla siguiente se proporciona una breve descripción de los comandos disponibles para dkrdbe:

comando Descripción
image Administrar imágenes. Para quitar imágenes sin usar, utilice: dkrdbe image prune -a -f
images Lista de imágenes
inspect Devolver información de bajo nivel sobre los objetos de Docker
login Iniciar sesión en un registro de Docker
logout Cerrar sesión de un registro de Docker
logs Capturar los registros de un contenedor
port Enumerar asignaciones de puerto o una asignación específica para el contenedor
ps Enumerar contenedores
pull Extraer una imagen o un repositorio de un registro
start Iniciar uno o varios contenedores detenidos
stats Mostrar streaming en vivo de estadísticas de uso de recursos de los contenedores
stop Detener uno o varios contenedores en ejecución
system Administrar Docker
top Mostrar los procesos en ejecución de un contenedor

Para obtener ayuda sobre cualquier comando disponible, use dkrdbe <command-name> --help.

Por ejemplo, para comprender el uso del comando port, escriba:

[10.100.10.10]: P> dkrdbe port --help

Usage:  dkr port CONTAINER [PRIVATE_PORT[/PROTO]]

List port mappings or a specific mapping for the container
[10.100.10.10]: P> dkrdbe login --help

Usage:  docker login [OPTIONS] [SERVER]

Log in to a Docker registry.
If no server is specified, the default is defined by the daemon.

Options:
  -p, --password string   Password
      --password-stdin    Take the password from stdin
  -u, --username string   Username
[10.100.10.10]: PS>

Los comandos disponibles para la función dkrdbe utilizan los mismos parámetros que los que se utilizan para los comandos de Docker normales. Para las opciones y los parámetros utilizados con el comando de Docker, vaya a Uso de la línea de comandos de Docker.

Comprobación de si el módulo se ha implementado correctamente

Los módulos de proceso son contenedores que tienen una lógica de negocios implementada. Para comprobar si un módulo de proceso se ha implementado correctamente, ejecute el comando ps y compruebe si el contenedor (correspondiente al módulo de proceso) se ejecuta.

Para obtener la lista de todos los contenedores (incluidos aquellos que están en pausa), ejecute el comando ps -a.

[10.100.10.10]: P> dkrdbe ps -a
CONTAINER ID        IMAGE                                                COMMAND                   CREATED             STATUS              PORTS                                                                  NAMES
d99e2f91d9a8        edgecompute.azurecr.io/filemovemodule2:0.0.1-amd64   "dotnet FileMoveModu…"    2 days ago          Up 2 days                                                                                  movefile
0a06f6d605e9        edgecompute.azurecr.io/filemovemodule2:0.0.1-amd64   "dotnet FileMoveModu…"    2 days ago          Up 2 days                                                                                  filemove
2f8a36e629db        mcr.microsoft.com/azureiotedge-hub:1.0               "/bin/sh -c 'echo \"$…"   2 days ago          Up 2 days           0.0.0.0:443->443/tcp, 0.0.0.0:5671->5671/tcp, 0.0.0.0:8883->8883/tcp   edgeHub
acce59f70d60        mcr.microsoft.com/azureiotedge-agent:1.0             "/bin/sh -c 'echo \"$…"   2 days ago          Up 2 days                                                                                  edgeAgent
[10.100.10.10]: PS>

Si se ha producido un error al crear la imagen de contenedor o durante la extracción de la imagen, ejecute logs edgeAgent. EdgeAgent es el contenedor de tiempo de ejecución de IoT Edge, que es responsable del aprovisionamiento de otros contenedores.

Dado que logs edgeAgent hace un volcado de todos los registros, una buena forma de ver los errores recientes consiste en usar la opción --tail 20.

[10.100.10.10]: PS>dkrdbe logs edgeAgent --tail 20
2019-02-28 23:38:23.464 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Util.Uds.HttpUdsMessageHandler] - Connected socket /var/run/iotedge/mgmt.sock
2019-02-28 23:38:23.464 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Util.Uds.HttpUdsMessageHandler] - Sending request http://mgmt.sock/modules?api-version=2018-06-28
2019-02-28 23:38:23.464 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Agent.Core.Agent] - Getting edge agent config...
2019-02-28 23:38:23.464 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Agent.Core.Agent] - Obtained edge agent config
2019-02-28 23:38:23.469 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Agent.Edgelet.ModuleManagementHttpClient] - Received a valid Http response from unix:///var/run/iotedge/mgmt.soc
k for List modules
--------------------CUT---------------------
--------------------CUT---------------------
08:28.1007774+00:00","restartCount":0,"lastRestartTimeUtc":"2019-02-26T20:08:28.1007774+00:00","runtimeStatus":"running","version":"1.0","status":"running","restartPolicy":"always
","type":"docker","settings":{"image":"edgecompute.azurecr.io/filemovemodule2:0.0.1-amd64","imageHash":"sha256:47778be0602fb077d7bc2aaae9b0760fbfc7c058bf4df192f207ad6cbb96f7cc","c
reateOptions":"{\"HostConfig\":{\"Binds\":[\"/home/hcsshares/share4-dl460:/home/input\",\"/home/hcsshares/share4-iot:/home/output\"]}}"},"env":{}}
2019-02-28 23:38:28.480 +00:00 [DBG] [Microsoft.Azure.Devices.Edge.Agent.Core.Planners.HealthRestartPlanner] - HealthRestartPlanner created Plan, with 0 command(s).

Para obtener registros de contenedores

Para obtener los registros de un contenedor específico, primero enumere el contenedor y después obtenga los registros del contenedor en el que está interesado.

  1. Conéctese a la interfaz de PowerShell.

  2. Para obtener la lista de contenedores en ejecución, ejecute el comando ps.

    [10.100.10.10]: P> dkrdbe ps
    CONTAINER ID        IMAGE                                                COMMAND                   CREATED             STATUS              PORTS                                                                  NAMES
    d99e2f91d9a8        edgecompute.azurecr.io/filemovemodule2:0.0.1-amd64   "dotnet FileMoveModu…"    2 days ago          Up 2 days                                                                                  movefile
    0a06f6d605e9        edgecompute.azurecr.io/filemovemodule2:0.0.1-amd64   "dotnet FileMoveModu…"    2 days ago          Up 2 days                                                                                  filemove
    2f8a36e629db        mcr.microsoft.com/azureiotedge-hub:1.0               "/bin/sh -c 'echo \"$…"   2 days ago          Up 2 days           0.0.0.0:443->443/tcp, 0.0.0.0:5671->5671/tcp, 0.0.0.0:8883->8883/tcp   edgeHub
    acce59f70d60        mcr.microsoft.com/azureiotedge-agent:1.0             "/bin/sh -c 'echo \"$…"   2 days ago          Up 2 days                                                                                  edgeAgent
    
  3. Anote el identificador del contenedor para el que necesita los registros.

  4. Para obtener los registros de un contenedor específico, ejecute el comando logs proporcionando el identificador del contenedor.

    [10.100.10.10]: PS>dkrdbe logs d99e2f91d9a8
    02/26/2019 18:21:45: Info: Opening module client connection.
    02/26/2019 18:21:46: Info: Initializing with input: /home/input, output: /home/output.
    02/26/2019 18:21:46: Info: IoT Hub module client initialized.
    02/26/2019 18:22:24: Info: Received message: 1, SequenceNumber: 0 CorrelationId: , MessageId: 081886a07e694c4c8f245a80b96a252a Body: [{"ChangeType":"Created","ShareRelativeFilePath":"\\__Microsoft Data Box Edge__\\Upload\\Errors.xml","ShareName":"share4-dl460"}]
    02/26/2019 18:22:24: Info: Moving input file: /home/input/__Microsoft Data Box Edge__/Upload/Errors.xml to /home/output/__Microsoft Data Box Edge__/Upload/Errors.xml
    02/26/2019 18:22:24: Info: Processed event.
    02/26/2019 18:23:38: Info: Received message: 2, SequenceNumber: 0 CorrelationId: , MessageId: 30714d005eb048e7a4e7e3c22048cf20 Body: [{"ChangeType":"Created","ShareRelativeFilePath":"\\f [10]","ShareName":"share4-dl460"}]
    02/26/2019 18:23:38: Info: Moving input file: /home/input/f [10] to /home/output/f [10]
    02/26/2019 18:23:38: Info: Processed event.
    

Supervisión de las estadísticas de uso del dispositivo

Para supervisar la memoria, el uso de CPU y la E/S en el dispositivo, use el comando stats.

  1. Conéctese a la interfaz de PowerShell.

  2. Ejecute el comando stats para deshabilitar el streaming en vivo y extraer solo el primer resultado.

    dkrdbe stats --no-stream
    

    En el ejemplo siguiente se muestra el uso de este cmdlet:

    [10.100.10.10]: P> dkrdbe stats --no-stream
    CONTAINER ID        NAME          CPU %         MEM USAGE / LIMIT     MEM %         NET I/O             BLOCK I/O           PIDS
    d99e2f91d9a8        movefile      0.0           24.4MiB / 62.89GiB    0.04%         751kB / 497kB       299kB / 0B          14
    0a06f6d605e9        filemove      0.00%         24.11MiB / 62.89GiB   0.04%         679kB / 481kB       49.5MB / 0B         14
    2f8a36e629db        edgeHub       0.18%         173.8MiB / 62.89GiB   0.27%         4.58MB / 5.49MB     25.7MB / 2.19MB     241
    acce59f70d60        edgeAgent     0.00%         35.55MiB / 62.89GiB   0.06%         2.23MB / 2.31MB     55.7MB / 332kB      14
    [10.100.10.10]: PS>
    

Salir de la sesión remota

Para salir de la sesión remota de PowerShell, cierre la ventana de PowerShell.

Pasos siguientes