Benutzer mit den meisten Antworten
Skript läuft ohne Fehler, bewirkt aber nichts

Frage
-
Hallo zusammen,
Zuerst, ich stehe noch so ziemlich am Anfang mit meiner Skript Karriere mit Powershell, deswegen verzeiht mir bitte den ein oder anderen groben Fehler. Ich möchte Config-Dateien für Firefox über unser Netzwerk mit einem Powershell-Skript verteilen. Dazu habe ich das folgende Skript verfasst:
$Appdata = $env:APPDATA $Default = "$Appdata\Mozilla\Firefox\Profiles\*wws" $Firefox = "C:\Program Files (x86)\Mozilla Firefox\firefox.exe -CreateProfile wws.default" $Laufwerk = “\\FREIGABE\abteilung” ##check/generate profil## if (Test-Path $Default) { "$Default ist bereits vorhanden." } else { $Firefox Write-Host "Profil wurde angelegt" } ##check/generate network drive## if (Test-Path T: -IsValid) { "Netzverbindung zu $Laufwerk ist bereits vorhanden." } else { New-PSDrive –Name "T" –PSProvider FileSystem –Root $Laufwerk -Persist Write-Host "Erstellt" } ##copy files## Copy-Item "T:\FREIGABE\Datei1" "$Default" Copy-Item "T:\FREIGABE\Datei2" "$Default" Copy-Item "T:\FREIGABE\Datei3" "$Default\chrome"
Leider funktioniert das ganze nicht wie gewünscht. Das Skript wirft keinen Fehler tut aber auch nichts. Das Heißt es wird mir Zwar angezeigt, dass z.B. das Profil für Firefox erstellt wurde aber ich finde es unter dem Entsprechneden Pfand nicht. Gleiches gilt für das Netzlaufwerk. Wenn ich das Skript laufen lasse, bekomme ich folgenden Output:
PS C:\Users\peters.kai\Desktop\GPO> .\Firefox_MHSC.ps1 C:\Program Files (x86)\Mozilla Firefox\firefox.exe -CreateProfile wws.default Profil wurde angelegt Name Used (GB) Free (GB) Provider Root CurrentLocation ---- --------- --------- -------- ---- --------------- T 13,37 26,29 FileSystem \\FREIGABE\abteilung Erstellt
Ebenso bin ich mir unsicher ob nicht vielleicht die Wildcard das Problem sein kann.
$Default = "$Appdata\Mozilla\Firefox\Profiles\*.wws"
Da Firefox seinen Profile mit einem Beliebigen String anlegt (z.B. g1doct5o.default) muss ich dort mit einer arbeiten.
Das würde aber das Fehlende Netzlaufwerk nicht erklären.Leider komme ich in diesen Punkten nicht weiter und ich hoffe, dass jemand von euch mir vielleicht helfen kann.
Mit freundlichen Grüßen
Kai Peters
- Bearbeitet kai._peters Dienstag, 29. November 2016 16:34
- Bearbeitet Denniver ReiningMVP, Moderator Dienstag, 29. November 2016 16:46 ....
Antworten
-
$Firefox = "C:\Program Files (x86)\Mozilla Firefox\firefox.exe -CreateProfile wws.default" else { $Firefox Write-Host "Profil wurde angelegt" }
Dieser Code führt leider garnichts aus, außer Text darzustellen. Um wirdlich Firefox mit entsprechendem Parameter auszuführen, sollte das so aussehen:
else { Start-Process 'C:\Program Files (x86)\Mozilla Firefox\firefox.exe' -ArgumentList '-CreateProfile wws.default' Write-Host "Profil wurde angelegt" }
Und ob das default profil schon vorhanden ist, lässt sich gut mit Get-ChildItem lösen:
if (Get-ChildItem -Path $env:APPDATA\Mozilla\Firefox\Profiles\ -Filter '*.default'){ Write-Host 'default Profil vorhanden' } else{ Write-Host 'default Profil nicht vorhanden' Start-Process 'C:\Program Files (x86)\Mozilla Firefox\firefox.exe' -ArgumentList '-CreateProfile wws.default' Start-Sleep -Seconds 5 # warten bis firefox fertig ist Write-Host 'Profil wurde angelegt' } $default = Get-ChildItem -Path $env:APPDATA\Mozilla\Firefox\Profiles\ -Filter '*.default' | Select-Object -ExpandProperty FullName Copy-Item -Path "T:\FREIGABE\Datei1" -Destination $default # etc
- Als Antwort vorgeschlagen Evgenij Smirnov Mittwoch, 30. November 2016 05:52
- Als Antwort markiert kai._peters Mittwoch, 30. November 2016 08:26
Alle Antworten
-
$Firefox = "C:\Program Files (x86)\Mozilla Firefox\firefox.exe -CreateProfile wws.default" else { $Firefox Write-Host "Profil wurde angelegt" }
Dieser Code führt leider garnichts aus, außer Text darzustellen. Um wirdlich Firefox mit entsprechendem Parameter auszuführen, sollte das so aussehen:
else { Start-Process 'C:\Program Files (x86)\Mozilla Firefox\firefox.exe' -ArgumentList '-CreateProfile wws.default' Write-Host "Profil wurde angelegt" }
Und ob das default profil schon vorhanden ist, lässt sich gut mit Get-ChildItem lösen:
if (Get-ChildItem -Path $env:APPDATA\Mozilla\Firefox\Profiles\ -Filter '*.default'){ Write-Host 'default Profil vorhanden' } else{ Write-Host 'default Profil nicht vorhanden' Start-Process 'C:\Program Files (x86)\Mozilla Firefox\firefox.exe' -ArgumentList '-CreateProfile wws.default' Start-Sleep -Seconds 5 # warten bis firefox fertig ist Write-Host 'Profil wurde angelegt' } $default = Get-ChildItem -Path $env:APPDATA\Mozilla\Firefox\Profiles\ -Filter '*.default' | Select-Object -ExpandProperty FullName Copy-Item -Path "T:\FREIGABE\Datei1" -Destination $default # etc
- Als Antwort vorgeschlagen Evgenij Smirnov Mittwoch, 30. November 2016 05:52
- Als Antwort markiert kai._peters Mittwoch, 30. November 2016 08:26