Powershell: Kommentar von Verknüpfung auslesen?

1 Antwort

Wenn es  denn unbedingt  Powershell sein  muss...
So  Modern Powershell auch anmutet, es   hat keinen nativen Weg   zu den Eigenschaften eines  .lnk (Shortcut-File).
Ich  bin selbst etwas erschüttert, das das so viel gepriesene Powershell auf  die gleichen  alten Funkionen vom hornalten VB-Script  zugreifen  muss wie auch  Batch, Javascript und andere Scriptengines...
Den  VBScipt weg  kenne  ich schon ewig  und  für PS habe ich es  noch  nie gebraucht...
Das VBS seinerseits  greift auf Das  WMI zu ... Hirnrissig...:p

in vielen  Code-Schnippseln  wird  der Kommentar  nicht  aufgeführt.
der zugrif erfolgt  über objectvariable.Description  .

Achtung Variablen des WMI sind CaseSensitiv! also  wirklich  so schreiben wie  in den  folgenden  Beispielen!


Egal...ich  will dich  nicht  weiter  im Regen stehen  lassen:
https://stackoverflow.com/questions/484560/editing-shortcut-lnk-properties-with-powershell

so  siht das  direkt in VBS aus:
http://www.robvanderwoude.com/vbstech_shortcuts.php

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren

LaviBirthday 
Fragesteller
 07.07.2017, 23:20

Hi,

Danke für deine Antwort. Es muss leider unbedingt Powershell sein ..

Ich habe die beiden Beispiele ausprobiert und auch in verschiedensten Varianten zusammen versucht und mit auch in Kombination mit meinem bisherigen Script. Allerdings sind die Ausgabe für den Kommentar immer noch leer. Hast du vielleicht noch eine Idee wo dran es liegen könnte? (Ich habe gerade extra noch mal nachgeschaut die Verknüpfung verfügt über einen Kommentar)

0
LaviBirthday 
Fragesteller
 08.07.2017, 08:51
@LaviBirthday

Okay ich war gestern Abend einfach zu blöd dafür es funktioniert jetzt dankeschön :)

0
Erzesel  08.07.2017, 10:02
@LaviBirthday

ich habs auch getestet ;)
Ich habe einfach das alte Wscript auf 3 Zeilen PS-script zusammengekloppt ohne mir den Aufwand den andere treiben anzuschauen:

$WScriptShell = New-Object -ComObject WScript.Shell
$Shortcut = $WScriptShell.CreateShortcut(( "C:\Users\Erzesel Secure\Desktop\test.lnk"))
Write-Output $Shortcut.Description

oder _alles anzeigen:
$WScriptShell = New-Object -ComObject WScript.Shell
$Shortcut = $WScriptShell.CreateShortcut(( "C:\Users\Erzesel Secure\Desktop\test.lnk"))
Write-Output $Shortcut

Klick... Idee...
versucht einen Link auszulesen... , der auf deinen Desktop zu sehen ist...?
Real jedoch wurde Dieser für alle User erstellt. C:\Users\Public\Desktop .

Windows spiegelt einen solchen Link lediglich auf den Desktop.
Ein programmatischer Zugriff bleibt jedoch leer!

erstelle einfach einen neuen Link zum testen...

1