edaseins
Goto Top

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:

$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?

Content-Key: 452294

Url: https://administrator.de/contentid/452294

Printed on: April 19, 2024 at 00:04 o'clock

Member: emeriks
Solution emeriks May 16, 2019 updated at 13:11:16 (UTC)
Goto Top
Zitat von @Edaseins:
wo ist hier der Fehler?
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.
$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.