web-dev-qa-db-fra.com

Powershell se connectant d'un client Linux à une télécommande Windows

J'essaie de me connecter à distance à une machine Windows à partir de mon poste de travail Linux.

J'ai installé PowerShell sur mon poste de travail Arch Linux et j'essaie actuellement de me connecter à l'hôte.

Sur l'hôte:

Enable-PSRemoting

Puis autorisé tous les hôtes avec Set-Item wsman:\localhost\client\trustedhosts *

Tout vérifier avec:

PS C:\windows\system32> ls WSMan:\localhost\Shell


   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Shell

Type            Name                           SourceOfValue   Value
----            ----                           -------------   -----
System.String   AllowRemoteShellAccess                         true
System.String   IdleTimeout                                    7200000
System.String   MaxConcurrentUsers                             2147483647
System.String   MaxShellRunTime                                2147483647
System.String   MaxProcessesPerShell                           2147483647
System.String   MaxMemoryPerShellMB                            2147483647
System.String   MaxShellsPerUser                               2147483647

Maintenant, quand j'essaie de me connecter depuis un poste de travail Linux:

PS /home/user/tmp> Enter-PSSession -ComputerName "myuser" -Credential DOMAIN\myuser

Windows PowerShell credential request
Enter your credentials.
Password for user DOMAIN\myuser: *****************

Enter-PSSession : MI_RESULT_ACCESS_DENIED
At line:1 char:1
+ Enter-PSSession -ComputerName "myuser" -Credential DOMAIN\ajpalhare ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (myuser:String) [Enter-PSSession
   ], PSInvalidOperationException
    + FullyQualifiedErrorId : CreateRemoteRunspaceFailed

Je ne fais rien sur les journaux d'événements de Windows winrm.

Toutes les suggestions sont les bienvenues,

6

WinRM sous Linux/OSX n'est actuellement pas pris en charge, mais le support est en cours.

https://github.com/PowerShell/PowerShell/issues/942

4
Phil

Il est possible de faire avec PowerShell Core (serveur et client) et OpenSSH.

Enter-PSSession -HostName myserver -UserName myuser

Lire les articles:

0
Der_Meister

Avez-vous également activé Remoting via HTTP/HTTPS?

Au plus basique, cela implique ces commandes:

winrm set winrm/config/client/auth @{Basic="true"}
winrm set winrm/config/service/auth @{Basic="true"}
winrm set winrm/config/service @{AllowUnencrypted="true"}

Il vaut probablement mieux utiliser HTTPS et un certificat auto-signé. Ceci est un guide de Nice: http://www.joseph-streeter.com/?p=1086

Ou utilisez simplement le script fourni par ansible: https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1

s'amuser

0
guy_from_irc