Jump to content

Deksktop Verknüpfungen löschen geht nicht


Recommended Posts

Dieser PowerShell-Befehl geht nicht 

Remove-Item ("C:\Users\*\Desktop\*.*") -Force -WhatIf

 

Remove-Item ("C:\Users\*\Desktop\*.*") -Force -WhatIf
Remove-Item : Es wurde kein Positionsparameter gefunden, der das Argument "" akzeptiert.
In Zeile:1 Zeichen:1
+ Remove-Item ("C:\Users\*\Desktop\*.*") -Force -WhatIf
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Remove-Item], ParameterBindingException

    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

 

Ziel ist es alle Desktopverknüpfungen zu löschen bzw. bestimmte mit Filter (like "suchbegriff")

 

Dieser Teil funktioniert jetzt

PS C:\WINDOWS\system32> Remove-Item "C:\Users\Public\Desktop\Microsoft Edge.lnk" -WhatIf
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Microsoft Edge.lnk".

PS C:\WINDOWS\system32> Remove-Item "C:\Users\Public\Desktop\*.*lnk" -WhatIf
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Acrobat Reader DC.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Advanced Installer 18.2.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Advanced IP Scanner.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Aiseesoft Screen Recorder.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\ApowerREC.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Audials One 2021 Edition.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\CPUID CPU-Z.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Google Chrome.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Iriun Webcam.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\MAGIX Video deluxe COMPUTER BILD-Edition (2020).lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Microsoft Edge.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\MiniTool Partition Wizard.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Mouse without Borders.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Music Maker (64-Bit).lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\OBS Studio.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\PowerToys (Preview).lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\RecMaster.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\SoftPerfect Network Scanner.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Steam.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Synology Assistant.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\TeamViewer.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\VideoProc.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\VLC media player.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\WinSCP.lnk".

 

Das klappt jetzt schon mal. Nun muss ich die Verknüpfungen im  Userkontext auch so umsetzen.

Edited by raymccoy
Link to post

Geplante Aufgabe mit dem Befehl erstellen, bei der Anmeldung und %dnsdomain%\%username% als ausführender User angeben.

 

BTW: Du weiß sicherlich dass die Verknüpfungen, die Du in Public entfernst auch beim User automatisch entfernt werden, oder?

Link to post

Wenn Du als Filter "C:\Users\*\Desktop\*.*" benutzt, dann löschst Du im Zweifel auch auf dem Desktop abgelegte Dateien - nicht nur Verknüpfungen!!

 

Get-ChildItem C:\Users\*\desktop\*.lnk | 
    Remove-Item -Force

 

Das muss dann natürlich mit administrativen Rechten ausgeführt werden ... is klar, oder? ;-) 

Edited by BOfH_666
Link to post

Wie so oft wäre es vermutlich sinnvoll, erst mal die Anforderung genau zu kennen, die da umgesetzt werden soll... Wie lautet die?

"Alle löschen bzw. mit Filter" ist etwas vage formuliert.

Link to post

<SCNR>

 

vor 1 Stunde schrieb daabm:

"Alle löschen bzw. mit Filter" ist etwas vage formuliert.

 

Aaach .... platsch quatsch ... weg mit dem Zeuch ... braucht doch eh keiner ...  :aetsch2::lol2::lol2:

 

</SCNR>

Link to post

Okay, ich versuche mal es besser zu erklären

Wir hatten mal eine Konfigurartion wo folgende Verknüpfungen auf dem Desktop angelegt wurde (Public Desktop):

Internet Explorer

WICHTIG - Datenschutzeinstellungen

ZDV - Aktuelles

ZDV - Exachange

ZDV - TeamViewer

ZDV - Webmail

ZDV - Wecker

 

Nun will ich zBsp alle Desktopverküpfungen die den Namen ZDV - Webmail oder ZDV - Wecker haben löschen (Filter ZDV - Ee*.*)

 

Im Startmenu wurde folgende Verknüpfungen angelegt: %appdata%\Microsoft\Windows\Start Menu\Programs

OneDrive

WICHTIG - Datenschutzeinstellungen

ZDV - Exchange (1)

ZDV - Exchange (2)

ZDV - Exchange (3)

ZDV - Exchange

ZDV - TeamViewer

ZDV - Webmail

 

strartmenusample.JPG.865e15856ad9cc08092f0f080ccf811c.JPG

Ich suche nun den Powershellbefehl der mir z.Bps alle ZDV - Exchange Startmenueinträge löscht (Filter ZDV - Ex*.*)

Link to post
vor 14 Minuten schrieb raymccoy:

Ich suche nun den Powershellbefehl der mir z.Bps alle ZDV - Exchange Startmenueinträge löscht (Filter ZDV - Ex*.*)

 

Dann brauchst Du doch meinen Code-Vorschlag nur entsprechend anzupassen. :thumb1: .... und erneut ... Dein Filter sollte idealerweise auf *.lnk enden und nicht auf *.* !!!

Link to post

Hallo, vielen Dank für die Hilfe:

Get-ChildItem C:\Users\*\desktop\*.lnk | Remove-Item -Force

Wie kann ich den Befehl ändern damit ich noch eine Ausschlussliste angeben (exclude)

 

z.Bsp sind folgende Shortcuts vorhanden:

PS C:\WINDOWS\system32> Remove-Item "C:\Users\Public\Desktop\*.*lnk" -WhatIf
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Adobe Acrobat DC.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\CDBurnerXP.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Firefox.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Google Chrome.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\GRASS GIS 7.4.4.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\IBM SPSS Statistics 27.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\ImageJ Fiji.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\LyX 2.3.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\MAXQDA 12.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\MAXQDA 2018.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Mendeley Desktop.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Microsoft Edge.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Mozilla Thunderbird.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\PC-Info.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Safe Exam Browser.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Scribus 1.4.8.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\WinIBW 3.0.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\WinSCP.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\ZDV-TeamViewer.lnk".
WhatIf: Ausführen des Vorgangs "Datei entfernen" für das Ziel "C:\Users\Public\Desktop\Zotero.lnk"

Es sollen alle gelöscht werden außer 

"C:\Users\Public\Desktop\ZDV-TeamViewer.lnk"

"C:\Users\Public\Desktop\Firefox.lnk"
"C:\Users\Public\Desktop\PC-Info.lnk"

 

wie man die exclude syntax anwendet habe ich noch nicht verstanden. Gibt es irgendwo gute Beispiele?

 

 

Link to post
Get-ChildItem C:\Users\*\desktop\*.lnk | Where-Object -FilterScript {$_.FullName -notin @("C:\Users\Public\Desktop\ZDV-TeamViewer.lnk", "C:\Users\Public\Desktop\Firefox.lnk", "C:\Users\Public\Desktop\PC-Info.lnk")} | Remove-Item -Force

So hat es schon mal geklappt.

Kann man das besser machen?

Link to post
vor 2 Stunden schrieb raymccoy:

Kann man das besser machen?

 

Definiere "Besser"!!  ;-)  ... offenbar funktioniert es ja wie gewünscht. Besser lesbar machen kann man es auf jeden Fall, wenn man z.B. nach jeder Pipe einen Zeilenumbruch einfügt. :thumb1: :aetsch2:

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...