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!
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
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. –
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