Software auf Clients per Skript de-installieren
Moin,
habe hier ein vorhaben, wobei mir etwas die Erfahrung fehlt.
Ich habe ein Skript geschrieben, dass eine alte Programmversion deinstalliert, alle überbleibsel entfernt und daraufhin die neue Version installiert.
In der manuellen Ausführung funktioniert das soweit. Allerdings werden natürlich Adminrechte verlangt.
Dazu sollte das Skript dann auf allen Clientrechnern ausgeführt werden. Wie macht man das am Besten? Per GPO nehmen ich an?
Das Ganze sollte auf Computerebene ablaufen und auch nur einmal pro Client, damit das Ganze nicht bei jedem Start wieder anfängt.
Die benötigten Dateien liegen auf einer Freigabe auf dem Fileserver. Domänencomputer habe ich hier entsprechend berechtigt.
Ich habe schon mit Startskript experimentiert. Allerdings will das nicht funktionieren. Es passiert nichts.
Auf Userebene startet das Skript, verlangt dann aber wie gesagt Adminrechte.
Über Tipps bin ich dankbar.
habe hier ein vorhaben, wobei mir etwas die Erfahrung fehlt.
Ich habe ein Skript geschrieben, dass eine alte Programmversion deinstalliert, alle überbleibsel entfernt und daraufhin die neue Version installiert.
In der manuellen Ausführung funktioniert das soweit. Allerdings werden natürlich Adminrechte verlangt.
Dazu sollte das Skript dann auf allen Clientrechnern ausgeführt werden. Wie macht man das am Besten? Per GPO nehmen ich an?
Das Ganze sollte auf Computerebene ablaufen und auch nur einmal pro Client, damit das Ganze nicht bei jedem Start wieder anfängt.
Die benötigten Dateien liegen auf einer Freigabe auf dem Fileserver. Domänencomputer habe ich hier entsprechend berechtigt.
Ich habe schon mit Startskript experimentiert. Allerdings will das nicht funktionieren. Es passiert nichts.
Auf Userebene startet das Skript, verlangt dann aber wie gesagt Adminrechte.
Über Tipps bin ich dankbar.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 307358
Url: https://administrator.de/contentid/307358
Ausgedruckt am: 26.11.2024 um 05:11 Uhr
10 Kommentare
Neuester Kommentar
Hi,
wenn das eine einmalige Sache ist, dann schau Dir mal PSexec an.
Beachte: Mit PSexec gestartete Prozesse können nicht auf Shares zugreifen. Also musst Du das Script und alles was es benötigt zuvor in einen temporären Ordner auf dem Client kopieren.
z.B.
Vorausgesetzt, Du bist mit einem Konto angemeldet, welches auch am Remote Client Admin ist. Sonst
/s lässt das als Local System starten.
E.
wenn das eine einmalige Sache ist, dann schau Dir mal PSexec an.
Beachte: Mit PSexec gestartete Prozesse können nicht auf Shares zugreifen. Also musst Du das Script und alles was es benötigt zuvor in einen temporären Ordner auf dem Client kopieren.
z.B.
md \\client\c$\ordner
copy \\server\freigabe\ordner\*.* \\client\c$\ordner
psexec \\client /s C:\Ordner\Script.cmd
psexec \\client /s /u domain\useer /p paswort C:\Ordner\Script.cmd
/s lässt das als Local System starten.
E.
Hi.
Startskript ist schon richtig. Natürlich muss das Skript komplett unattended ablaufen, also silent-Switches benutzen.
Zum Test: Lad Dir psexec runter und führe auf einem elevated command prompt aus:
psexec -s -i cmd
Die Shell, die sich dann öffnet läuft mit Systemrechten, genau wie das Startskript. Auf dieser Shell dann das Skript starten - es muss ohne Fehler durchlaufe und ohne Rückfragen.
Startskript ist schon richtig. Natürlich muss das Skript komplett unattended ablaufen, also silent-Switches benutzen.
Zum Test: Lad Dir psexec runter und führe auf einem elevated command prompt aus:
psexec -s -i cmd
Die Shell, die sich dann öffnet läuft mit Systemrechten, genau wie das Startskript. Auf dieser Shell dann das Skript starten - es muss ohne Fehler durchlaufe und ohne Rückfragen.
Hi,
für gelegentliche Installationen habe ich mir eine PowerShell Schablone angelegt.
Darin werden die zu installierenden Computer festgelegt, die Installationsdateien kopiert, eine Remotesession aufgebaut, die Installation durchgeführt,
die Installationsdateien wieder entfernt und der Rechner heruntergefahren.
Je nachdem, ob die Installationsdateien als msi-Paket vorliegen, lässt sich das mehr oder weniger elegant lösen.
Das wäre die Funktion zur Deinstallation:
Der Exit-Code wird abgefragt und bei Erfolg die Installation durchgeführt.
Solltest Du an dieser Version Interesse haben, schreib mir, dann kann ich dir weitere Details zukommen lassen.
VG Gahmuret
für gelegentliche Installationen habe ich mir eine PowerShell Schablone angelegt.
Darin werden die zu installierenden Computer festgelegt, die Installationsdateien kopiert, eine Remotesession aufgebaut, die Installation durchgeführt,
die Installationsdateien wieder entfernt und der Rechner heruntergefahren.
Je nachdem, ob die Installationsdateien als msi-Paket vorliegen, lässt sich das mehr oder weniger elegant lösen.
Das wäre die Funktion zur Deinstallation:
$arguments = @('/x ', 'C:\Temp\Programmname.msi', '/qn', '/norestart')
(Start-Process -FilePath "msiexec.exe" -ArgumentList $arguments -Wait -PassThru).ExitCode
Der Exit-Code wird abgefragt und bei Erfolg die Installation durchgeführt.
Solltest Du an dieser Version Interesse haben, schreib mir, dann kann ich dir weitere Details zukommen lassen.
VG Gahmuret