Mit Invoke-WmiMethod zum ausführen einer ausführbaren Datei auf einer remote-Maschine, als ein bestimmter Benutzer

Als Teil eines deployment-Automatisierung, bin ich zu versuchen, eine ausführbare Datei auf einem remote-Computer mit powershell. Die ausführbaren ausführen muss, um sich als ein bestimmter Benutzer, so dass Sie können eine Verbindung zu der entsprechenden Datenbank, um seine Arbeit zu tun.

Beispielsweise das Powershell-Skript läuft auf Rechner1 als Benutzer "Org\TFSUser". Es braucht, um führen Sie die ausführbare Datei auf Computer2 im Dialogfeld Lizenzaktivierung als "Devel\BuildServices" user. Ich versuche zu verwenden die Invoke-WmiMethod commandlet zu starten Sie die ausführbare Datei auf dem remote-server, wie unten gezeigt. Dies scheint zu funktionieren, es läuft die ausführbare Datei auf dem remote-Computer, aber mit dem Anonymen login. Den Fehler sehe ich in den logs ist System.Data.SqlClient.SqlException: Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.

$username = "devel\BuildServices"
$password = cat Deploy\SecurePasswords\PasswordForBuildServicesAsSecureString.txt | convertto-securestring
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $password
Invoke-WmiMethod -class Win32_process -name Create -ArgumentList ("C:\TeamCityDeployments\Importer\Importer.exe -pFile:C:\TeamCityDeployments\Importer\alphaParams.txt >> importer.log") -ComputerName "Machine2.devel" -Impersonation 3 -EnableAllPrivileges -Credential $cred

Aufzubauen, das credential Objekt mit Passwort ohne Rückfrage, ich bin mit dem sicheren Zeichenfolgen als angegeben hier.

In der Invoke-WmiMethod, ich bin die Versorgung der parameter "-Identitätswechsel 3", wie angegeben,hier. Mein Verständnis war, dass dies starten Sie die remote-Prozess, während die Identität des Benutzer-Anmeldeinformationen, dass ich mich übergeben.

Kann mir jemand sagen, wie führen Sie die ausführbare Datei auf einem remote-Computer mit den Anmeldeinformationen eines bestimmten Benutzers.

  • Ich habe nicht wirklich verwendet die Invoke-WmiMethod vor, es kann gut sein, den richtigen Weg zu erreichen, was Sie wollen, aber ich denke, Sie können auch tun, mit (New-PSSession Enter-PSSession") oder " Invoke-Command, da Sie beide nehmen-Anmeldeinformationen, wenn Sie aufrufen.
  • Versucht, verwenden Sie den Invoke-Befehl, sowie Neue-PSession Befehl. Macht keinen Unterschied, das ich noch immer der gleiche Anonymous-Anmeldung Fehler.
  • Haben Sie die Authentifizierungsmethode angeben, beim aufrufen von Invoke-command-Befehl? Sie müssen die Verwendung der CredSSP als Sie zu haben scheinen, die double-hop-Authentifizierung Problem. Überprüfen Sie meine Antwort für diese Frage zu finden, wie die Einrichtung und Verwendung der CredSSP, es ist ziemlich einfach. stackoverflow.com/questions/15336336/...
  • Yup. Das war es dann. Jetzt funktioniert es. Sollten Sie die obigen Ausführungen in einer Antwort, damit ich das annehmen kann. 🙂
  • cheers Chaitanya.
InformationsquelleAutor Chaitanya | 2013-10-01
Schreibe einen Kommentar