Win10 configuration winrm et gestion des erreurs

Paramiko est connecté à un serveur Linux. Si vous souhaitez vous connecter à Windows à distance, vous devez utiliser winrm. Le
service winRM est un service de gestion à distance PowerShell sous Windows Server.
Le script Python gère la ligne de commande Windows en connectant le module winRM.
Vérifiez l'état du service winrm, il n'est pas démarré par défaut

 winrm enumerate winrm/config/listener

démarrage du service winrm

 winrm quickconfig

Erreur:

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

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

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

WinRM 已更新为接收请求。

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

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

Ouvrez les paramètres réseau et Internet:
Insérez la description de l'image ici

Modifiez les propriétés de connexion en privé:
Insérez la description de l'image ici

Exécutez à nouveau l'erreur:

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

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

Activez le pare-feu:

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

Opération réussie:

已更新 3 规则。
确定。

Recommencer:

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

Vue:

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

Configurer l'authentification pour le service winrm

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

Configurez la méthode de cryptage pour le service winrm pour autoriser le non-cryptage

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

Remarque:
1. Vous devez configurer à la fois l'extrémité de contrôle et l'extrémité contrôlée avant de pouvoir utiliser winrm pour vous connecter à distance.
2. Il n'est utilisé que pour le réseau local et les deux ordinateurs doivent pouvoir envoyer un ping.
3. Vous devez utiliser le administrateur pour ouvrir la ligne de commande, sinon il y aura des autorisations insuffisantes Cause une erreur

Je n’ai pas utilisé les commandes suivantes et vous pouvez les utiliser si vous en avez besoin:
1. Capable d’obtenir des instances à un taux pouvant atteindre 50 instances par groupe

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

2. En augmentant la taille de paquet maximale allouée et les paramètres de délai d'expiration, les performances peuvent également être améliorées

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

3. Pour obtenir les paramètres de configuration actuels de WinRM, exécutez la commande suivante

winrm g winrm/config

4. Par défaut, l'ordinateur client requiert le chiffrement du trafic réseau. Pour permettre aux ordinateurs clients de demander du trafic non chiffré, exécutez la commande suivante

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

5. Exécutez la commande suivante pour inclure tous les ordinateurs dans TrustedHosts

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

6. L'authentification de base est un schéma dans lequel le nom d'utilisateur et le mot de passe sont envoyés au serveur ou à l'agent en texte clair. C'est la méthode d'authentification la moins sécurisée. La valeur par défaut est True.
Exécutez la commande suivante pour configurer l'ordinateur client afin qu'il utilise l'authentification de base

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

Je suppose que tu aimes

Origine blog.csdn.net/liulanba/article/details/115083014
conseillé
Classement