File via Powershell über GPO erstellen
Hallo an alle,
ich bin gerade dabei ein Setup von einem unserer eingesetzten Software zu automatisieren.
Leider ist die nicht wie die anderen ein MSI Paket, sondern eine Exe Datei.
Das grundlegende habe ich schon geschafft.
Das bedeutet, dass das Powershell Skript welches ich über die GPO (Startup Skript) aufrufe, führt bereits die Setup.exe aus und installiert das Programm.
Ich möchte jedoch nicht, dass die Installation bei jedem Start des Computers gemacht wird.
Darum habe ich eine kleine Überprüfung eingebaut.
Es wird überprüft ob eine Textdatei vorhanden ist und falls nicht, findet die Installation statt und die Textdatei wird erstellt.
Wenn der Rechner das nächste Mal gestartet wird, wird wieder überprüft ob die Datei vorhanden ist.
Dieses Mal ist die Datei vorhanden und das Setup wird kein weiteres Mal ausgeführt.
So, nun zu meinem Problem.
Wenn ich auf einem PC das Powershell Script von dem UNC Pfad des Domain Controllers ausführe, dann wir diese Datei erstellt.
Wenn aber die GPO das Powershell Skript von der gleichen Stelle (UNC Pfad des Domain Controllers) ausführt, dann wird die Datei nicht erstellt.
Ich habe auch schon auf den Log Ordner zu Testzwecken "Jeder" Schreiben eingestellt, aber das half auch nicht.
Hat jemand eine Idee warum die Datei nicht erstellt wird?
lg
Nino
ich bin gerade dabei ein Setup von einem unserer eingesetzten Software zu automatisieren.
Leider ist die nicht wie die anderen ein MSI Paket, sondern eine Exe Datei.
Das grundlegende habe ich schon geschafft.
Das bedeutet, dass das Powershell Skript welches ich über die GPO (Startup Skript) aufrufe, führt bereits die Setup.exe aus und installiert das Programm.
Ich möchte jedoch nicht, dass die Installation bei jedem Start des Computers gemacht wird.
Darum habe ich eine kleine Überprüfung eingebaut.
Es wird überprüft ob eine Textdatei vorhanden ist und falls nicht, findet die Installation statt und die Textdatei wird erstellt.
Wenn der Rechner das nächste Mal gestartet wird, wird wieder überprüft ob die Datei vorhanden ist.
Dieses Mal ist die Datei vorhanden und das Setup wird kein weiteres Mal ausgeführt.
So, nun zu meinem Problem.
Wenn ich auf einem PC das Powershell Script von dem UNC Pfad des Domain Controllers ausführe, dann wir diese Datei erstellt.
Wenn aber die GPO das Powershell Skript von der gleichen Stelle (UNC Pfad des Domain Controllers) ausführt, dann wird die Datei nicht erstellt.
Ich habe auch schon auf den Log Ordner zu Testzwecken "Jeder" Schreiben eingestellt, aber das half auch nicht.
Hat jemand eine Idee warum die Datei nicht erstellt wird?
$fileToCheck = "\\server\software\log\" + $env:username + "_" + $env:computername + ".txt"
$pathToCheck = "\\server\software\log\"
if (Test-Path $fileToCheck -PathType leaf)
{
Write-Output "The file $fileToCheck is already present."
Exit
}
else
{
Set-Content -path "$pathToCheck\$($env:username)_$($env:computername).txt" -Value "test content"
$pathvargs = {\\server\software\setup.exe /automode /s }
Invoke-Command -ScriptBlock $pathvargs
}
lg
Nino
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 597824
Url: https://administrator.de/contentid/597824
Ausgedruckt am: 21.11.2024 um 23:11 Uhr
7 Kommentare
Neuester Kommentar
Das Problem habe ich auch öfters wenn ich verschiedene Variable in einer Abfrage gleichzeitig einsetze Ändere mal deine Zeile
in folgende um:
Ansonsten ist mir grade aufgefallen, dass du bei pathtocheck mit einem "\" endest, und in deinem Code aber "pathtocheck\" steht. Damit wäre dein Pfad dann \\server\software\log\\benutzername_Computername.txt
Set-Content -path "$pathToCheck\$($env:username)_$($env:computername).txt" -Value "test content"
$Log-File=$pathToCheck+$env:username)+"_"+$env:computername+".txt"
Set-Content -path $Log-Path -Value "test content"
Ansonsten ist mir grade aufgefallen, dass du bei pathtocheck mit einem "\" endest, und in deinem Code aber "pathtocheck\" steht. Damit wäre dein Pfad dann \\server\software\log\\benutzername_Computername.txt
Alles fein, jedoch würde ich vorschlagen, stattdessen einen MSI-Wrapper zu nutzen, wie z.B. exetomsi (kostenlos). http://www.exetomsi.com/freeware
Zitat von @Doskias:
Nino schreibt allerdings, dass die Datei nicht erstellt wird. Daraus folgere ich, dass das Setup ausgeführt wird, somit das Skript und die GPO richtig ist.
Wenn das Setup denn auch ausgeführt wird. Das schreibt er ja leider nicht. Und selbst wenn, wenn keine Schreibrechte auf dasVerzeichnis bestehen wird auch keine Datei erstellt.Nino schreibt allerdings, dass die Datei nicht erstellt wird. Daraus folgere ich, dass das Setup ausgeführt wird, somit das Skript und die GPO richtig ist.
🖖