Jump to content

Powershell remote


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

Ich versuche gerade paar Skripts die in batch Format vor liegen zum teilin Powershell zu übersetzten.

Hab dazu ein paar Fragen:

 

Kann man wenn man die Benutzername und Passwort in dem Power Shell Skript hinterlegt dieser Admin rechte übergeben? Wie würde das aussehen?

 

Um Remote Befehle aus zu führen (soll auf mehreren PCs dann von einem Server aus passieren) habe ich zB dieses konstrukt:

(Get-WmiObject -Class Win32_OperatingSystem -ComputerName $ip -Credential $cred).InvokeMethod("Win32Shutdown",2)

 

Remote will ich da jetzt aber mehr machen also installieren, paar files kopieren, was an der Regestrierung ändern.

Da hab ich zB.:für Lokal:

cmd /c msiexec /package Programm.msi /quiet

Wie paart man das am besten oder verwendet man da geschickter eine andere Variante ?

Link zu diesem Kommentar

get-help about_...

 

Wobei das about_... folgendes sein kann:

about_remote HelpFile Beschreibt, wie Remotebefehle in...

about_remote_FAQ HelpFile Enthält Fragen und Antworten zur...

about_remote_jobs HelpFile Beschreibt, wie Hintergrundauftr...

about_remote_output HelpFile Beschreibt, wie die Ausgabe von ...

about_remote_requirements HelpFile Beschreibt die System- und Konfi...

about_remote_troubleshooting HelpFile Beschreibt die Fehlerbehebung fü...

 

Willst du jetzt ein konkretes Script? Ein Beispiel?

Willst du eine komplette Session remote ausführen oder nur einzelne Befehle?

 

Psexec ist zwar nicht schlecht, aber seit Powershell v2 für Remoting eigentlich unnötig.

Link zu diesem Kommentar

Ein konkretes Script ist zwar auch nicht verkehrt, würde ich aber nicht fordern.

Würde eben gerne eine Empfehlung was viel leicht sinnvollsten ist.

 

PsExec hab ich bei den Batchs verwendet. Aber das wird mir irgendwie zu unübersichtlich, ...

daher will ich ja auf PS wechseln.

 

Session oder Befehle ... das ist wohl die Frage.

 

Vermutlich reichen die Befehle (da auf mehreren PCs keinigkeiten (de/installieren, kopieren und neustart) zu tun ist.

Oder sind die Sessions neben einanderer Möglich? (also ohne Warten)

 

Da ich auf mehreren PC zB was installieren muss, was ja einige Zeit dauert, würde ich das gerne Parallel, also nicht unbedingt mit warten auf die antwort machen.

 

Kann man eigentlich per Powershell auhc Updates starten (MS updates)?

Link zu diesem Kommentar

Für Updates nutzt man am besten Wsus mit dessen Möglichkeiten.

 

Für Remoting unter PS gibt es folgende 2 Möglichkeiten.

Befehle Remote senden:

$c = Get-Credential Administrator
Invoke-Command -ComputerName server -ScriptBlock { get-host } -Credential $c

PSComputerName     : server
RunspaceId         : 92f988c0-097d-4e79-8dec-9746466c5115
PSShowComputerName : True
Name               : ServerRemoteHost
Version            : 1.0.0.0
InstanceId         : a47df64c-05b4-4ba3-a0b6-e0bbf67d6fc4
UI                 : System.Management.Automation.Internal.Host.InternalHostUse
                    rInterface
CurrentCulture     : de-DE
CurrentUICulture   : de-DE
PrivateData        :

 

Session:

New-PSSession -ComputerName Server -Credential $c

Enter-PSSession -ComputerName server -Credential $c
[server]: PS C:\Users\Administrator.DUNE\Documents> get-host


Name             : ServerRemoteHost
Version          : 1.0.0.0
InstanceId       : c990846c-b827-4233-94f7-1f09efec0a3b
UI               : System.Management.Automation.Internal.Host.InternalHostUserI
                  nterface
CurrentCulture   : de-DE
CurrentUICulture : de-DE
PrivateData      :
IsRunspacePushed :
Runspace         :

 

Der Unterschied ist bei den Befehlen (man kann auch komplexe Scripte nutzen und muss keine einzelnen Befehle nutzen) wird eine Session auf und gleich abgebaut. Bei einer Session bleibt diese bestehen und man arbeitet wie auf dem Remote Rechner Lokal daran. Ist eher etwas für Interaktive Nutzung.

 

Für Parallele Ausführung brauchst du Background-Jobs (get-help about_jobs).

Link zu diesem Kommentar
Für Updates nutzt man am besten Wsus mit dessen Möglichkeiten.

Wenn ich mich da richtig erinnere brauche ich dazu aber einen Server der die dann verteilt.

Bei mir würde es da jetzt aber im bezug auf das auch um die PCs gehen,

wo das so nicht geht.

Daher will ich wirklich eine lokale direktes Update anstoßen.

 

Der Unterschied ist bei den Befehlen (man kann auch komplexe Scripte nutzen und muss keine einzelnen Befehle nutzen) wird eine Session auf und gleich abgebaut. Bei einer Session bleibt diese bestehen und man arbeitet wie auf dem Remote Rechner Lokal daran. Ist eher etwas für Interaktive Nutzung.

 

Für Parallele Ausführung brauchst du Background-Jobs (get-help about_jobs).

Naja bezüglich dem Parallelen:

Wenn die Session direkt nach dem absetzten des Befehls beendet wird,

brauche ich das ja nicht über Jobs zu lösen?

zB:

Auf 5 PCs eine Software deinstallieren und dann eine Installieren.

Wenn ihc das zusammen in einen Script Block fasse, und einfach "hin sende", ohne auf eine rückantwort zu warten, knn ich schon zum nächsten gehen oder?

Link zu diesem Kommentar
Wenn ich mich da richtig erinnere brauche ich dazu aber einen Server der die dann verteilt.

Bei mir würde es da jetzt aber im bezug auf das auch um die PCs gehen,

wo das so nicht geht.

Daher will ich wirklich eine lokale direktes Update anstoßen.

 

Wieviele Rechner habt ihr und ihr verwaltet diese ohne zentralen Server (AD?)?

Es gibt ein CLI Programm, welches man per Powershell starten kann, welches Windows Update steuert. Was das aber alles kann, kann ich schlecht sagen.

 

Naja bezüglich dem Parallelen:

Wenn die Session direkt nach dem absetzten des Befehls beendet wird,

brauche ich das ja nicht über Jobs zu lösen?

zB:

Auf 5 PCs eine Software deinstallieren und dann eine Installieren.

Wenn ihc das zusammen in einen Script Block fasse, und einfach "hin sende", ohne auf eine rückantwort zu warten, knn ich schon zum nächsten gehen oder?

 

Jein.

Wenn das deinstallieren und installieren z.b. ne halbe Stunde dauert und man 10 Rechner hat sind das 5 Stunden, da das ganze Seriell dann abgearbeitet wird. Mit Parallelisierung geht das dann in einer halben Stunde.

Das "hin senden ohne auf eine Rückantwort zu warten" ist das parallelisieren (Backgrundjobs).

Link zu diesem Kommentar
Wieviele Rechner habt ihr und ihr verwaltet diese ohne zentralen Server (AD?)?

Es gibt ein CLI Programm, welches man per Powershell starten kann, welches Windows Update steuert. Was das aber alles kann, kann ich schlecht sagen.

Nein, die im AD werden natürlich zentral verwaltet.

Es geht dabei natürlich um jene die aus diversen Gründen nicht darin hängen.

Wie lautet den der Name dieses CLI Programms.

 

Jein.

Wenn das deinstallieren und installieren z.b. ne halbe Stunde dauert und man 10 Rechner hat sind das 5 Stunden, da das ganze Seriell dann abgearbeitet wird. Mit Parallelisierung geht das dann in einer halben Stunde.

Das "hin senden ohne auf eine Rückantwort zu warten" ist das parallelisieren (Backgrundjobs).

Bei PSexec gab es dieses "nicht auf Antwort warten" explizit.

Daher dachte ich nicht daran, dass es Jobs benötigen würde.

Noch ein Frage: Jobs auf lokaler oder Remote Seite?

Eigentlich wäre ja beides Möglich.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...