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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 452294
Url: https://administrator.de/contentid/452294
Printed on: April 19, 2024 at 00:04 o'clock
1 Comment
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.