UAC Bestätigung bei Exe install via Powershell umgehen?
Hallo zusammen,
ich suche mich im Netz dumm und dämlich...
Ich möchte gerne über den Acmeo Agenten auf mehreren Maschinen ein Programm installieren welches mir folgendes liefert:
- die .exe Datei die per /quiet angestoßen werden kann
- eine Setup XML die die exe aber von allein im gleichen Ordner ansteuert.
Meine Versuche bislang funktionieren auf der lokalen Maschine super, aber weder über Aufgabenplanung noch über den Agenten wird das Programm installiert, mein Verdacht ist die UAC Abfrage die kommt, wenn ich es manuell ausführe, ich denke die Aufgabenplanung und der Agent können dies nicht bestätigen. Grundsätzlich funktioniert das Script aber das sieht man daran dass der Download und das extrahieren startet, aber sobald der Schritt des entpackens fertig ist, passiert via Aufgabenplanung oder Agent gar nix mehr.
folgender Aufbau des skriptes:
Folgender Code läd das ZIP Archiv auf den Client herunter:
anschließend wird die Zip Datei extrahiert:
Und nun hab ich ca 13 Möglichkeiten probiert um das ganze zu installieren... per cmd aufruf, per Startas.exe addon, per start process... meine letzte Idee war eine self elevating Powershell... Dies funktioniert auch, aber eben nur local... der Code dazu
Wiegesagt führe ich das Script oder auch nur den letzten Block manuell aus, kommt kurz eine UAC Abfrage ich klicke auf Ja und alles installiert sich total sauber, lass ich das Script über die Aufgabenplanung oder den Acmeo Agenten laufen downloaded er, extrahiert, aber dann passiert gar nix mehr, es gibt keine Fehler und im Verlauf der Aufgabenplanung steht abgeschlossen.
Was kann ich hier noch machen?
ich suche mich im Netz dumm und dämlich...
Ich möchte gerne über den Acmeo Agenten auf mehreren Maschinen ein Programm installieren welches mir folgendes liefert:
- die .exe Datei die per /quiet angestoßen werden kann
- eine Setup XML die die exe aber von allein im gleichen Ordner ansteuert.
Meine Versuche bislang funktionieren auf der lokalen Maschine super, aber weder über Aufgabenplanung noch über den Agenten wird das Programm installiert, mein Verdacht ist die UAC Abfrage die kommt, wenn ich es manuell ausführe, ich denke die Aufgabenplanung und der Agent können dies nicht bestätigen. Grundsätzlich funktioniert das Script aber das sieht man daran dass der Download und das extrahieren startet, aber sobald der Schritt des entpackens fertig ist, passiert via Aufgabenplanung oder Agent gar nix mehr.
folgender Aufbau des skriptes:
Folgender Code läd das ZIP Archiv auf den Client herunter:
[string]$Ziel = "c:\install\"
[string]$zippfad = $Ziel + "programm.zip"
[String]$URL = "http://webserver/programm.zip"
if (!(Test-Path $Ziel)) {New-Item -Path $Ziel -ItemType Directory}
New-Item $Ziel -type Directory
$shell_app=New-Object -com shell.application
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($URL, "$zippfad")
(New-Object System.Net.WebClient).DownloadFile($URL, $zippfad)
anschließend wird die Zip Datei extrahiert:
Expand-Archive -Path $zippfad -DestinationPath $ziel
Und nun hab ich ca 13 Möglichkeiten probiert um das ganze zu installieren... per cmd aufruf, per Startas.exe addon, per start process... meine letzte Idee war eine self elevating Powershell... Dies funktioniert auch, aber eben nur local... der Code dazu
$username = "domäne\user"
$password = ConvertTo-SecureString "password" -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential($username,$password)
$runthis = {
cd c:\install\programmpfad
.\Setup.exe
Exit 0
}
Start-Process -WorkingDirectory $env:windir powershell -Credential $creds -ArgumentList "-NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -command &{start-process powershell.exe {$runthis} -verb runas}"
Wiegesagt führe ich das Script oder auch nur den letzten Block manuell aus, kommt kurz eine UAC Abfrage ich klicke auf Ja und alles installiert sich total sauber, lass ich das Script über die Aufgabenplanung oder den Acmeo Agenten laufen downloaded er, extrahiert, aber dann passiert gar nix mehr, es gibt keine Fehler und im Verlauf der Aufgabenplanung steht abgeschlossen.
Was kann ich hier noch machen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 632191
Url: https://administrator.de/contentid/632191
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
5 Kommentare
Neuester Kommentar
Guten Morgen
Wenn der Acmeo Agent eine Softwareverteilung ist, dann läuft der Dienst auf dem Client in der Regel als "System" User, oder bereits als Admin.
Dann sollte ein einfacher Aufruf der EXE mit dem Parameter reichen:
Wenn das nicht so sein sollte, wie kann der Agent dann andere Software installieren?!
Aber wie auch immer. Wenn du Credentials mitgibst, dann startest du wieder eine PowerShell Instanz. Warum?
Starte doch direkt die Installation:
Gruß
Wenn der Acmeo Agent eine Softwareverteilung ist, dann läuft der Dienst auf dem Client in der Regel als "System" User, oder bereits als Admin.
Dann sollte ein einfacher Aufruf der EXE mit dem Parameter reichen:
start-process "......\Setup.exe" -argumentlist /quiet'
Wenn das nicht so sein sollte, wie kann der Agent dann andere Software installieren?!
Aber wie auch immer. Wenn du Credentials mitgibst, dann startest du wieder eine PowerShell Instanz. Warum?
Starte doch direkt die Installation:
$username = "username"
$password = "password"
$credentials = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force))
Start-Process setup.exe -WorkingDirectory DEINORDNER -Credential ($credentials)
Gruß