Obecnie bardzo mnie drażnią Dropbox i Nextcloud, które oboje zmagają się z listą identyfikatorów ShellIconOverlayIdentifier. Problem, z którym, jak się wydaje, w obliczu wielu ludzi, gdy szukasz w Internecie.
Teraz chcę połączyć swoją irytację z zamiarem zbadania powershell (7.2.0).
Zacząłem od następnego skryptu, który musi pobrać wszystkie klucze. I później chcę używać wyrażenie regularne przez -match
aby znaleźć rekordy, które chcę usunąć. W tej chwili pracuję z obu Remove-Item -WhatIf
i Get-ItemProperty
aby to sprawdzić.
Obecnie mój problem polega na tym, że mogę stworzyć swoją listę z przeznaczeniem. Ale gdy wpisuję listę polecenie usuwania, dostaję, że ścieżka nie może być znaleziony. Co robię nie tak?
Push-Location -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
$list = Get-ChildItem -Path .
$filteredList = $list -match "DropboxExt10"
$filteredList
# Remove-Item -WhatIf -Recurse $filteredList
Get-ItemProperty $filteredList
Pop-Location
Błąd w tym, że Cannot find path 'Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt10' because it does not exist.
Zewnętrznie dodaje drogę jak względna ścieżka do bieżącej lokalizacji. Dlaczego to nie jest interpretowany jako ścieżka bezwzględna? Kiedy usuwam część push-lokalizacji, ona próbuje dodać ścieżkę do rejestru w mój bieżący katalog roboczy, w którym znajduje się skrypt. Ale i to też źle.
Z góry dziękuję za pomoc.
foreach ($item in $filteredList) {Remove-Item -WhatIf -Recurse Registry::$item}
. Na prawdę mi się zaczynał podobać Powershell. Ale, biorąc pod uwagę, że moja wersja nie działa, ale swoje pierwsze proponowane rozwiązanie działa, zmusza mnie do myślenia.