Jump to content

Powershell GPUpdate


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

Empfohlene Beiträge

Hallo liebe mitlesenden,

Ich stecke gerade in der Zwickmühle.

Ich möchte meine Scripte aktuell nicht mehr mit CMD erstellen sondern mit PS

Jetzt hänge ich an einer eigentlich simplen Stelle.

Ich brauche eine GPUPDATE /force um nach einer Deinstallation einer Software die normal Per GPO auf dem Client landet wieder eine erneute, saubere Installation zu erhalten.

Also Step 1 Uninstall

Step 2 In der Regestry die AppMgmt Einträge löschen

Step 3 GPUpdate

Step 4 reboot

 

Mein Problem ist nun:

Mache ich in einer CMD einen gpupdate /force dann klappt das

Okay er will ein Ja oder Nein für den Reboot, dass kann ich aber mit Echo n | gpupdate /forec umgehen.

 

Mache ich einen invoke-gpupdate in PS dann hab ich keinen Einfluss wann der Misteimer sich dazu herab läßt den Update auszuführen

Mein reboot am ende des Scripts kommt dann noch vor dem Update und ich steh im Wald.

 

Versuche ich mit Start-Process "cmd.exe echo n | gpupdate /force" das ganze zu starten kommt nix dabei rum.

 

Hat jemand hier eine funktionierende Lösung.

 

Vielen dank vorab schon für die Mühe die ich euch mache.

 

Grüße

Christoph

Link zu diesem Kommentar
vor 7 Minuten schrieb koenigch:
 

Hat jemand hier eine funktionierende Lösung.

Ist es eine Frage ohne Fragezeichen oder eine Feststellung mit verdrehter Wortfolge?

Invoke-Command -ScriptBlock { gpupdate }

wäre eine funktionierende Lösung. Nativ in PowerShell gibt es keinen Befehl, mit dem man die GPO-Anwendung *jetzt* erzwingen kann.

bearbeitet von cj_berlin
  • Haha 1
  • Verwirrend 1
Link zu diesem Kommentar

Hi,

 

mich wunder, dass noch niemand erwähnt hat, dass Softwareverteilung per GPO einfach Mist ist. ;-)

 

Fang doch mit dieser Software an und lass das Verteilen per GPO sein. Dann benötigst du anstelle "gpupdate /force" nur noch ein

$objProcess = Start-Process -FilePath "Pfad zum Setup / Pfad zu msiexec" `
  -ArgumentList "/deine Optionen /Schalter" `
  -PassThru
  
Wait-Process -InputObject $objProcess

Restart-Computer -Force

 

Punkt 1 und 2 lassen sich sicherlich auch noch in PowerShell umsetzen. Noch besser (und einfacher) wäre vermutlich eine Softwareverteilungslösung bzw. ein Endpointmanagement.

 

Gruß

Jan

Link zu diesem Kommentar

Danke für die Antworten,

 

ja, dass GPOs nur sehr wenig taugen für Software Verteilung ist mir auch schon lange klar.

Es sind auch nur ein paar wenige rudimentäre Brocken, die wir so auf die Rechner bringen.

Und das eigentlich auch nur wenn die Kiste frisch aufgesetzt wird, dann bekommt sie noch 3-4 Anwendungen drauf gepackt.

Da haben wir leider einen Kandidaten der Zickt manchmal und hier wollte ich für die Service Kollegen ein Script reichen, mit dem sie einfach ein uninstall machen, die Registry Einträge im in Grouppenrichtlinien\AppMgmt entfernt, bootet und den Schlunz wieder drauf bringt.

Ich bin auch schon in einigen Scipten dazu über gegangen Software per CMD oder PS zu suchen und bei Bedarf zu installieren. Klar, das klappt zuverlässiger.

 

Also nochmal herzlichen Dank für Eure Antworten

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