Autorisations Powershell distantes limitées à la machine


8

Je ne parviens pas à exécuter des scripts PowerShell sur un serveur distant, mais uniquement sur ma machine actuelle - aidez-moi.

L'exécution du script suivant pour donner une liste d'un répertoire temporaire sur le serveur distant fonctionne à partir d'autres machines sur le même serveur avec mes informations d'identification, mais ne fonctionne pas pour les utilisateurs de ma machine.

Invoke-Command -ComputerName <server_name> -Credential (Get-Credential) -ScriptBlock { Get-ChildItem "D:\temp" } 

Je reçois l'erreur suivante:

[nom_serveur] La connexion au serveur distant nom_serveur a échoué avec le message d'erreur suivant: Échec de la connexion: nom d'utilisateur inconnu ou mot de passe incorrect. Pour plus d'informations, consultez la rubrique d'aide about_Remote_Troubleshooting. + CategoryInfo: OpenError: (nom_serveur: chaîne) [], PSRemotingTransportException + FullyQualifiedErrorId: LogonFailure, PSSessionStateBroken

  • Oui, il y a ad: drive.
  • Oui, il existe un répertoire temporaire
  • Oui, mes informations d'identification sont bonnes - je peux connecter le bureau à distance au serveur et exécuter le script avec succès sur d'autres machines.

J'utilise le powershell 3 - téléchargé depuis http://www.microsoft.com/en-us/download/details.aspx?id=34595 et il est installé avec succès.

Un appel à $ PsVersionTable sur mon ordinateur portable me donne ceci:

Nom Valeur
---- -----

WSManStackVersion 3.0
PSCompatibleVersions {1.0, 2.0, 3.0}
SerializationVersion 1.1.0.1
BuildVersion 6.2.9200.16398
PSVersion 3.0
CLRVersion 4.0.30319.586
PSRemotingProtocolVersion 2.2

J'exécute Windows 7 et le serveur exécute Windows 2003. Je sais que powershell 3 ne fonctionne pas bien avec le serveur Windows 2003, mais la commande ci-dessus s'exécute avec succès sur d'autres machines clientes, ne croyez donc pas que ce soit un problème.

Des idées?


Pouvez-vous utiliser Enter-PSSessionsur cette machine?
Tanner Faulkner

Exécution d'Enter-PSSession pointant vers le serveur J'obtiens "WinRM ne peut pas traiter la demande. L'erreur suivante s'est produite lors de l'utilisation de l'authentification Kerberos: Impossible de trouver l'ordinateur <nom_serveur> ..." mais il est disponible.
WestDiscGolf

À distance et exécutez à Enable-PSRemoting -forcenouveau; me semble être un problème avec WinRM.
Tanner Faulkner

J'ai essayé ça (et encore une fois) mais pas de chance. Je peux cependant exécuter la commande sur une autre machine sur le même serveur, donc je pense toujours que c'est du côté client ... comment :-(
WestDiscGolf

@WestDiscGolf - Je réimaginerais le client si c'est possible. Cela ressemble à une configuration client sans savoir qu'il sera difficile à résoudre pour nous.
Ramhound

Réponses:


6

Ainsi, après quelques tests de diagnostic supplémentaires (connexion à une autre machine pour l'exécuter, démarrage dans une autre installation de système d'exploitation sur le même ordinateur portable), il est devenu nécessaire d'exécuter la commande suivante:

Set-Item WSMan:\localhost\Client\TrustedHosts -value * 

Aussi, en faisant une enquête plus approfondie, j'ai trouvé ce site qui pourrait aider d'autres personnes à résoudre des problèmes de PowerShell à distance (publication pour référence).


0

Je suppose que vous utilisez PowerShell v2.0 dans votre Windows Server 2003 et que vous avez également activé WINRM 2.0 sur le serveur. Dans ce cas, PowerShell v3.0 WINRM doit se connecter à Windows Server 2003.

Assurez-vous que vous exécutez le Enable-PSRemoting sur le serveur comme décrit par les notes "WestDiscGolf". De plus, vous devez vérifier vos règles de pare-feu dans votre client Windows 7 juste pour vous en assurer.

Réessayez. :)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.