raymccoy 1 Geschrieben 1. Juni 2021 Melden Geschrieben 1. Juni 2021 (bearbeitet) 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. bearbeitet 1. Juni 2021 von raymccoy Zitieren
Sunny61 816 Geschrieben 1. Juni 2021 Melden Geschrieben 1. Juni 2021 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? Zitieren
BOfH_666 583 Geschrieben 1. Juni 2021 Melden Geschrieben 1. Juni 2021 (bearbeitet) 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? bearbeitet 1. Juni 2021 von BOfH_666 Zitieren
daabm 1.386 Geschrieben 1. Juni 2021 Melden Geschrieben 1. Juni 2021 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. Zitieren
BOfH_666 583 Geschrieben 1. Juni 2021 Melden Geschrieben 1. Juni 2021 <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 ... </SCNR> Zitieren
NorbertFe 2.155 Geschrieben 2. Juni 2021 Melden Geschrieben 2. Juni 2021 Genau selbst schuld ;) Zitieren
raymccoy 1 Geschrieben 2. Juni 2021 Autor Melden Geschrieben 2. Juni 2021 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 Ich suche nun den Powershellbefehl der mir z.Bps alle ZDV - Exchange Startmenueinträge löscht (Filter ZDV - Ex*.*) Zitieren
BOfH_666 583 Geschrieben 2. Juni 2021 Melden Geschrieben 2. Juni 2021 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. .... und erneut ... Dein Filter sollte idealerweise auf *.lnk enden und nicht auf *.* !!! Zitieren
raymccoy 1 Geschrieben 4. Juni 2021 Autor Melden Geschrieben 4. Juni 2021 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? Zitieren
tesso 377 Geschrieben 4. Juni 2021 Melden Geschrieben 4. Juni 2021 Suchmaschine deiner Wahl nutzen bringt zum Beispiel folgendes https://stackoverflow.com/questions/19207991/how-to-exclude-list-of-items-from-get-childitem-result-in-powershell 1 Zitieren
raymccoy 1 Geschrieben 4. Juni 2021 Autor Melden Geschrieben 4. Juni 2021 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? Zitieren
BOfH_666 583 Geschrieben 4. Juni 2021 Melden Geschrieben 4. Juni 2021 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. Zitieren
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.