Verknüpfungen prüfen und ggf austauschen
Hallo Leute,
ich habe ein kleines Script welches auf 50 Tablets eine Verknüpfung suchen soll, wenn sie vorhanden ist, löschen soll und anschließend eine neue Verknüpfung hinterlegen soll.
das script sieht wie folgt aus:
Lokal ausgeführt funkioniert es. Aber wenn ich es in unsere Monitoring Lösung einbaue welches über das Systemkonto Skripte ausführt, passiert nichts, wo ist hier der Fehler?
ich habe ein kleines Script welches auf 50 Tablets eine Verknüpfung suchen soll, wenn sie vorhanden ist, löschen soll und anschließend eine neue Verknüpfung hinterlegen soll.
das script sieht wie folgt aus:
$WantFile = "c:\users\prisma\Desktop\ProgrammSwitch.lnk"
$FileExists = Test-Path $WantFile
If ($FileExists -eq $True) {
Remove-Item ”c:\users\prisma\Desktop\ProgrammSwitch.lnk” –Force
New-Item -ItemType SymbolicLink -Path "c:\users\prisma\Desktop" -Name "ProgrammSwitch.lnk" -Value "C:\itavero\PRISMAECHT\lib\ProgrammSwitch.exe"
}
Else {exit}
$WantFile2 = "c:\Users\Prisma\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\ProgrammSwitch.lnk"
$FileExists = Test-Path $WantFile2
If ($FileExists -eq $True) {
Remove-Item ”c:\Users\Prisma\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\ProgrammSwitch.lnk” –Force
New-Item -ItemType SymbolicLink -Path "c:\Users\Prisma\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" -Name "ProgrammSwitch.lnk" -Value "C:\itavero\PRISMAECHT\lib\ProgrammSwitch.exe"
}
Else {exit}
Lokal ausgeführt funkioniert es. Aber wenn ich es in unsere Monitoring Lösung einbaue welches über das Systemkonto Skripte ausführt, passiert nichts, wo ist hier der Fehler?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 452294
Url: https://administrator.de/contentid/452294
Ausgedruckt am: 08.11.2024 um 09:11 Uhr
1 Kommentar
Zunächst in Deiner Fragestellung.
Lass nach jeder Aktion einen Logfileeintrag schreiben. Dann weißt Du, ob das Script überhaupt läuft und wie weit es kommt. Ebenso solltest Du mit Try-Catch Fehler abfangen. Dann kannst Du darauf gezielt reagieren, z.B. auch um Fehler in das Logfile zu schreiben.
Also z.B.
E.
Lass nach jeder Aktion einen Logfileeintrag schreiben. Dann weißt Du, ob das Script überhaupt läuft und wie weit es kommt. Ebenso solltest Du mit Try-Catch Fehler abfangen. Dann kannst Du darauf gezielt reagieren, z.B. auch um Fehler in das Logfile zu schreiben.
Also z.B.
$LogfilePath = "....."
Try {
...... Hier Deinen Code-Block
.... An "interessanten" Stellen einbauen
"Hier bin ich" | Out-File -FilePath $LogfilePath -Append
} Catch {
$Error | Out-File -FilePath $LogfilePath -Append
}
E.