Attualmente sono molto infastidito da Dropbox e Nextcloud, che sia battaglia il ShellIconOverlayIdentifier elenco. Un problema che molte persone sembrano avere, quando si ricerca su internet.
Ora voglio unire il mio fastidio con il mio intento di imparare powershell (7.2.0).
Ho iniziato con il seguente script, che deve recuperare tutte le chiavi. E poi voglio usare regex via -match
per trovare le voci che si desidera eliminare. Per ora io lavoro con entrambi Remove-Item -WhatIf
e Get-ItemProperty
per eseguire il test.
Attualmente il mio problema è che posso creare la mia lista come previsto. Ma quando ho feed elenco in rimuovere comando ottengo che il percorso non può essere trovato. Che cosa sto facendo di sbagliato?
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
L'errore è 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.
A quanto pare si aggiunge il percorso come percorso relativo alla posizione corrente. Perché non interpretare come un percorso assoluto? Quando ho ommit il push-posizione parte trys per aggiungere il percorso del registro di sistema per il mio attuale directory di lavoro in cui lo script vita. Ma questo è sbagliato, come pure.
Grazie per il vostro aiuto in anticipo.
foreach ($item in $filteredList) {Remove-Item -WhatIf -Recurse Registry::$item}
. In realtà stavo iniziando a come Powershell. Ma dato che la mia versione non ha funzionato, ma la tua prima soluzione proposta fa, mi fa pensare.