Parallele Prozesse in PS
Hallo allerseits,
ich versuche nun schon seit geraumer Zeit ein Script zu erstellen um eine PS Datei simultan auf mehreren Rechnern zu starten. Ich habe jett das folgende, er sagt zwar Prozeß ist gestartet, aber egal welche Datei ich auch ausführe, die Datei existiert auf jedem Zielrechner im Pfad, es wird nichts wirklich ausgeführt. Die PS Datei funktioniert auch lokal auf dem Remote Rechner. Es ist vollkommen egal was für eine Datei ich starten will, er macht einfach nichts. Vielleicht kann mir ja einer veraten was ich falsch mache.
ich versuche nun schon seit geraumer Zeit ein Script zu erstellen um eine PS Datei simultan auf mehreren Rechnern zu starten. Ich habe jett das folgende, er sagt zwar Prozeß ist gestartet, aber egal welche Datei ich auch ausführe, die Datei existiert auf jedem Zielrechner im Pfad, es wird nichts wirklich ausgeführt. Die PS Datei funktioniert auch lokal auf dem Remote Rechner. Es ist vollkommen egal was für eine Datei ich starten will, er macht einfach nichts. Vielleicht kann mir ja einer veraten was ich falsch mache.
$computers = "La-1", "La-2"
$username = "lax\administrator"
$password = ConvertTo-SecureString "abcd" -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($username, $password)
$scriptBlock = {
# Führe die PowerShell-Datei aus
& "C:\Users\Administrator\Downloads\inventory\Inventory-Network.ps1"
}
Invoke-Command -ComputerName $computers -Credential $credential -ScriptBlock $scriptBlock -AsJob -ThrottleLimit $computers.Count
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 63168384743
Url: https://administrator.de/contentid/63168384743
Ausgedruckt am: 05.11.2024 um 15:11 Uhr
19 Kommentare
Neuester Kommentar
Hallo
Gruß schrick.
Zitat von @casi4711:
jo danke, hab ich gemacht,
nun sehe ich die Abarbeitung ses Serciptes, dieses fragt einige Einstellungen des entsprechenden Rechners ab und legt dise als CSV auf dem Fileserver ab, am Ende steht folgendes, was wohl offensichtlich auf ein Zugriffsproblem hinweisst. Wenn ich das PS lokal auf dem Rechner ausführe hat es aber Zugriff.
Ist das typische "double hop" Problem mit der Credential Delegation, die lokal definierten Creds werden auf dem Remote System nicht mehr für den Zugriff auf den UNC Pfad benutzt, siehejo danke, hab ich gemacht,
nun sehe ich die Abarbeitung ses Serciptes, dieses fragt einige Einstellungen des entsprechenden Rechners ab und legt dise als CSV auf dem Fileserver ab, am Ende steht folgendes, was wohl offensichtlich auf ein Zugriffsproblem hinweisst. Wenn ich das PS lokal auf dem Rechner ausführe hat es aber Zugriff.
- https://learn.microsoft.com/de-de/powershell/scripting/security/remoting ...
- https://book.hacktricks.xyz/v/de/windows-hardening/active-directory-meth ...
- So vermeiden Sie Probleme beim zweiten Hop mit PowerShell
Gruß schrick.
Links etwas exakter lesen wäre ja schon mal ein Anfang .
Und nein, ein Skript das man lokal ausführt und das dort scheinbar funktioniert muss eben nicht auch per Remote funktionieren, dies gilt es vorher in einer eigenen Remote-Session zu prüfen bevor man es auf x Computer los lässt!
aber warum funktioniert das generell nicht im parallelen Modus.
Doch das funktioniert out of the box sofern dein Skript selbst auch funktioniert, fehlerfrei ist oder Fehler abfängt und auf die Verarbeitung per Remote-Session vorbereitet ist.Wie muss dass denn grundsätzlich im einfachsten Fall aussehen damit es funktioniert,
Wenn man Invoke-Command mehrere Computer im Parameter -Computer mitgibt verarbeitet es diese automatisch parallel, du musst also nichts weiter tun, nur sicherstellen das dein Skript ordnungsgemäß gestaltet ist, denn fehlerhafte Skripte auf 100 Computern auszuführen bringt dir ja kein Ergebnis .Und nein, ein Skript das man lokal ausführt und das dort scheinbar funktioniert muss eben nicht auch per Remote funktionieren, dies gilt es vorher in einer eigenen Remote-Session zu prüfen bevor man es auf x Computer los lässt!
Frage wann muss man denn den Parameter -parallel benutzen, wenn er es so auch simultan macht?
Garnicht , denn einen Parameter "-parallel" gibt es bei Invoke-Command nicht 🙃. RTFM
Moin,
das hast du doch hier bereits getan. Du solltest nun eigentlich in der Lage sein, mit...
auf den Server zuzugreifen.
Gruß Thomas
das hast du doch hier bereits getan. Du solltest nun eigentlich in der Lage sein, mit...
Invoke-Command -ComputerName "LA-DATA" -ConfigurationName "Demo" -ScriptBlock {
#...
}
Gruß Thomas
ja ne, sobald in meinem Script Ressourcen in der Fileablage angesprochen werden, werden die Credentials ja eben nicht weitergegeben
Wie gesagt, du hast die Fehlermeldung nicht aufmerksam gelesen. 😵💫 Ich bin raus.