Win10 configuración winrm y manejo de errores

Paramiko está conectado a un servidor Linux. Si desea conectarse a Windows de forma remota, debe usar winrm. El
servicio winRM es un servicio de administración remota de PowerShell en el servidor Windows.
El script de Python opera la línea de comandos de Windows conectando el módulo winRM.
Verifique el estado del servicio winrm, no se inicia de forma predeterminada

 winrm enumerate winrm/config/listener

inicio del servicio winrm

 winrm quickconfig

Error:

PS C:\Windows\system32> winrm quickconfig
在此计算机上,WinRM 未设置为接收请求。
必须进行以下更改:

启动 WinRM 服务。
将 WinRM 服务类型设置为延迟的自动启动。

执行这些更改吗[y/n]? y

WinRM 已更新为接收请求。

成功更改 WinRM 服务类型。
已启动 WinRM 服务。
WSManFault
    Message
        ProviderFault
            WSManFault
                Message = 由于此计算机上的网络连接类型之一设置为公用,因此 WinRM 防火墙例外将不运行。 将网络连接类型更改为域或专用,然后再次尝试。

错误编号: -2144108183 0x80338169
由于此计算机上的网络连接类型之一设置为公用,因此 WinRM 防火墙例外将不运行。 将网络连接类型更改为域或专用,然后再次尝试。

Abra la configuración de red e Internet:
Inserte la descripción de la imagen aquí

Cambie las propiedades de la conexión a privada:
Inserte la descripción de la imagen aquí

Ejecute el error nuevamente:

PS C:\Windows\system32> winrm quickconfig
已在此计算机上运行 WinRM 服务。
WinRM 没有设置成为了管理此计算机而允许对其进行远程访问。
必须进行以下更改:

启用 WinRM 防火墙异常。
配置 LocalAccountTokenFilterPolicy 以远程向本地用户授予管理权限。

Encienda el firewall:

 netsh advfirewall firewall set rule group="Windows 远程管理" new enable=yes

Operación exitosa:

已更新 3 规则。
确定。

Empezar de nuevo:

C:\Windows\system32> winrm quickconfig
已在此计算机上运行 WinRM 服务。
在此计算机上设置了 WinRM 以进行远程管理。

Vista:

PS C:\Windows\system32> winrm enumerate winrm/config/listener
Listener
    Address = *
    Transport = HTTP
    Port = 5985
    Hostname
    Enabled = true
    URLPrefix = wsman
    CertificateThumbprint
    ListeningOn = 127.0.0.1, 192.168.64.84, ::1

Configurar la autenticación para el servicio winrm

winrm set winrm/config/service/auth    '@{Basic="true"}'
Auth
    Basic = true
    Kerberos = true
    Negotiate = true
    Certificate = false
    CredSSP = false
    CbtHardeningLevel = Relaxed```

Configure el método de encriptación para el servicio winrm para permitir la no encriptación

winrm set winrm/config/service  @{AllowUnencrypted="true"}
PS C:\Windows\system32> winrm set winrm/config/service '@{AllowUnencrypted="true"}'
Service
    RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;IU)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD)
    MaxConcurrentOperations = 4294967295
    MaxConcurrentOperationsPerUser = 1500
    EnumerationTimeoutms = 240000
    MaxConnections = 300
    MaxPacketRetrievalTimeSeconds = 120
    AllowUnencrypted = true
    Auth
        Basic = true
        Kerberos = true
        Negotiate = true
        Certificate = false
        CredSSP = false
        CbtHardeningLevel = Relaxed
    DefaultPorts
        HTTP = 5985
        HTTPS = 5986
    IPv4Filter = *
    IPv6Filter = *
    EnableCompatibilityHttpListener = false
    EnableCompatibilityHttpsListener = false
    CertificateThumbprint
    AllowRemoteAccess = true

Nota:
1. Debe configurar tanto el extremo de control como el extremo controlado antes de poder usar winrm para conectarse de forma remota.
2. Solo se usa para LAN, y las dos computadoras deben poder hacer ping.
3. Debe usar el administrador para abrir la línea de comando, de lo contrario no habrá permisos suficientes Causa un error

No utilicé los siguientes comandos y puedes tomarlos si los necesitas:
1. Capaz de obtener instancias a una tasa de hasta 50 instancias por grupo.

winrm set winrm/config @{
    
    MaxBatchItems="50"}

2. Al aumentar el tamaño máximo de paquete asignado y la configuración de tiempo de espera, el rendimiento también se puede mejorar

winrm set winrm/config @{
    
    MaxEnvelopeSizekb="150"}
winrm set winrm/config @{
    
    MaxTimeoutms ="60000"}

3. Para obtener la configuración actual de WinRM, ejecute el siguiente comando

winrm g winrm/config

4. De forma predeterminada, el equipo cliente requiere el cifrado del tráfico de red. Para permitir que los equipos cliente soliciten tráfico no cifrado, ejecute el siguiente comando

winrm s winrm/config/Client @{
    
    AllowUnencrypted="true"}
 
TrustedHosts 是一个数组,用于指定可信的远程计算机的列表。同一工作组中的其他计算机或不同域中的计算机均应添加到此列表中。TrustedHosts 列表中的计算机未经过身份验证。

5. Ejecute el siguiente comando para incluir todas las computadoras en TrustedHosts

winrm s winrm/config/Client @{
    
    TrustedHosts="*"}

6. La autenticación básica es un esquema en el que el nombre de usuario y la contraseña se envían al servidor o agente en texto sin cifrar. Este es el método de autenticación menos seguro. El valor por defecto es verdadero.
Ejecute el siguiente comando para configurar la computadora cliente para usar la autenticación básica

winrm s winrm/config/Client/Auth @{
    
    Basic="true"}

Supongo que te gusta

Origin blog.csdn.net/liulanba/article/details/115083014
Recomendado
Clasificación