2012-04-09 3 views
1

Ich muss eine Batch-Datei auf einem Remote-Rechner ausführen, wo die Batch-Datei auf einer Remote-Dateifreigabe ausgeführt wird. Ich konnte CredSSP-Authentifizierung in Powershell verwenden, um dies unter der Annahme zu tun, um meine ID Admin auf dem entfernten Rechner ist, aber wenn ich den Admin-Zugriff entferne ich folgend:Aufruf von invoke-wmimethod über Powershell PSSession ohne Admin auf Remote Machine?

Zugriff verweigert
+ CategoryInfo: InvalidOperation: (:) [Invoke-WmiMethod], ManagementException
+ FullyQualifiedErrorId: InvokeWMIManagementException, Microsoft.PowerShell.Commands.InvokeWmiMethod

ich versucht habe, meine ID ermöglicht die volle Kontrolle Microsoft.PowerShell zu haben, wie hier empfohlen, aber ohne Glück: http://blogs.msdn.com/b/powershell/archive/2009/11/23/you-don-t-have-to-be-an-administrator-to-run-remote-powershell-commands.aspx

Die Befehle Ich betreibe:

$s = New-PSSession -computerName $remoteMachine -Credential $cred -Authentication CredSSP 

Invoke-Command -Session $s -Scriptblock {param($remoteBatchFile) invoke-wmimethod -path win32_process -name create -argumentlist $remoteBatchFile} -ArgumentList $remoteBatchFile 

Remove-PSSession $s 

Irgendwelche Vorschläge, wie die Sicherheit Fehler zu beheben? Ich habe Anforderungen, um die Batch-Datei von der Netzwerk-Speicherort und für die ID auf keinem der Maschinen Admin zu sein. Irgendwelche Vorschläge würden geschätzt werden, danke!

Antwort

0

Sie stehen vor der gefürchteten 2nd-Hop-Ausgabe. In einer PowerShell-Remoting-Sitzung können Sie ohne erneute Authentifizierung nicht auf andere Netzwerkressourcen zugreifen oder auf diese verweisen. Die Verwendung von CredSSP ist eine Möglichkeit. Eine andere Möglichkeit, die ich verwendet habe, ist in Ihrer Remote-Sitzung fügen Sie einen NET USE-Befehl, um ein Laufwerk vorübergehend auf dem Remote-Computer zuordnen, einen Benutzernamen und ein Kennwort angeben.

+0

Ich habe überprüft, dass ich die Netzwerkressource auf dem Remote-Computer abrufen kann, während meine ID in der Admin-Gruppe ist, also glaube ich, dass ich das 2. Hop-Problem hinter mir habe. Mein Auflegen ist mit dem möglich, ohne meine ID als ein Admin auf dem Remote-Computer zu haben. Es scheint mir, als ob der Fehler mit der Invoke-WMIMethod und einer Art von Erlaubnis zu tun hat, die ich konfigurieren müsste, aber bis jetzt konnte ich nicht herausfinden, was genau das sein könnte. – Nick

+0

Wenn Sie nur versuchen, die Stapeldatei auf dem Remotecomputer zu starten, brauchen Sie Invoke-WMIMethod nicht. Führen Sie einfach die Stapeldatei in Invoke-Command aus. –

+0

Ich habe festgestellt, dass, wenn ich es von einer interaktiven Sitzung aus aufrufen, dieser Ansatz funktioniert, ich jedoch versuche, dies als Batch-Skript auszuführen. Zum Beispiel funktioniert das: Invoke-Command -Session $ s -BScriptblock {param ($ remoteBatchFile) start-process $ remoteBatchFile} -ArgumentList $ remoteBatchFile Sobald ich jedoch den Befehl Remove-PSSession abgesetzt habe, enden die ausführbaren Programme, die ich gestartet habe. Wenn sie als WMIMethods aufgerufen werden, bleiben sie über die Schließung der PSSession hinaus bestehen. – Nick

Verwandte Themen