Powershell का उपयोग करने के लिए हटा ShellIconOverlayIdentifiers विंडोज पर

0

सवाल

मैं हूँ वर्तमान में बहुत से नाराज ड्रॉपबॉक्स और Nextcloud, जो दोनों लड़ाई ShellIconOverlayIdentifier सूची. एक समस्या है जो कई लोगों को लगता है, जब आप इंटरनेट खोज.

अब मैं चाहता हूं कि गठबंधन करने के लिए मेरी झुंझलाहट के साथ मेरी मंशा जानने के लिए powershell (7.2.0).

मैं के साथ शुरू निम्न स्क्रिप्ट होगी, जो सभी पुनः प्राप्त चाबियाँ. और बाद में मैं का उपयोग करना चाहते हैं regex के माध्यम से -match खोजने के लिए प्रविष्टियों को मुझे हटाना चाहते हैं. अभी के लिए मैं दोनों के साथ काम Remove-Item -WhatIf और Get-ItemProperty यह परीक्षण करने के लिए.

वर्तमान में मेरी समस्या है कि मैं कर सकते हैं बनाने के लिए मेरी सूची के रूप में इरादा है. लेकिन जब मैं फ़ीड की सूची में हटाने के आदेश है कि मैं है कि पथ नहीं पाया जा सकता है. मैं क्या कर रहा हूँ गलत?

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

त्रुटि है 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. Apparantly यह कहते हैं के रूप में पथ रिश्तेदार पथ के लिए वर्तमान स्थान है । क्यों नहीं यह के रूप में व्याख्या एक निरपेक्ष पथ? जब मैं मैं धक्का-स्थान का हिस्सा है, यह trys जोड़ने के लिए रजिस्ट्री पथ के लिए मेरे वर्तमान कार्य निर्देशिका में जो स्क्रिप्ट रहता है । लेकिन यह गलत है के रूप में अच्छी तरह से.

आपकी मदद के लिए धन्यवाद अग्रिम में.

powershell registry windows
2021-11-16 19:48:52
1

सबसे अच्छा जवाब

1

का उपयोग करें निम्न में से एक:

$filteredList | Remove-Item -WhatIf -Recurse

# Alternatively:
Remove-Item -LiteralPath $filteredList.PSPath -WhatIf -Recurse

उपरोक्त आदेशों सुनिश्चित करें कि रजिस्ट्री वस्तुओं (कुंजी) द्वारा बाध्य कर रहे हैं उनके पूरा, प्रदाता-योग्य रास्तों के लिए Remove-Item's -LiteralPath पैरामीटर के माध्यम से, उनके .PSPath संपत्ति के मामले में रजिस्ट्री पथ, पथ के प्रदाता उपसर्ग है Microsoft.PowerShell.Core\Registry:: (या, यदि की पहचान होने वाले मॉड्यूल नहीं है, भी, आवश्यक Registry::, के रूप में प्रयोग किया जाता में अपने Push-Location कॉल)

क्या हो रहा प्रतीत होता है कि जब आइटम हैं stringified - जो है क्या होता है जब आप उन्हें पारित एक पूरे के रूप में, एक तर्क के रूप में (उदा. Remove-Item $filteredlistहै , जो एक ही है के रूप में Remove-Item -Path $filteredlist), वे कमी प्रदाता उपसर्ग और प्रतिनिधित्व कर रहे हैं के रूप में रजिस्ट्री-देशी पथ.

और यह देखते हुए कि एक पूरा रजिस्ट्री मूल रास्ते के रूप में इस तरह HKEY_LOCAL_MACHINE\... न तो शुरू होता है के साथ एक ड्राइव विनिर्देश और न ही \ या /, यह व्याख्या की है के रूप में एक रिश्तेदार पथ में है, जिसके परिणामस्वरूप लक्षण आप देखा.

2021-11-16 21:21:42

धन्यवाद के लिए विस्तृत व्याख्या की है । दोनों वेरिएंट में काम करते हैं. वास्तव में मैं के साथ आया था, एक तिहाई समाधान नहीं है । आप इसे जोड़ने के लिए अपने जवाब है, तो हम सभी विकल्पों को यहाँ? foreach ($item in $filteredList) {Remove-Item -WhatIf -Recurse Registry::$item}. वास्तव में मैं गया था करने के लिए शुरू की तरह Powershell. लेकिन यह देखते हुए कि अपने संस्करण के साथ काम नहीं किया है, लेकिन अपने प्रस्तावित समाधान करता है, मुझे आश्चर्य बनाता है.
Gunter

स्वीकार करने के लिए धन्यवाद, Gunter, मैं खुश हूँ स्पष्टीकरण उपयोगी था. ईमानदारी से, यह देखते हुए कि समाधान में जवाब कर रहे हैं, और अधिक संक्षिप्त (कोई लूप) और की तुलना में तेजी से एक foreach-पाश समाधान है, मुझे नहीं लगता कि बाद में जोड़ने के लायक है. हाँ, यह स्पष्ट नहीं है क्यों $filteredList | Remove-Item -WhatIf -Recurse काम करता है (देखें इस सवाल का जवाब), और quirks के आसपास गुजर रास्तों निराशा हो सकती है. लेकिन, बावजूद इसके सभी मौसा, PowerShell है एक बहुत की पेशकश करने के लिए.
mklement0

धन्यवाद के लिए अतिरिक्त लिंक. मैं देख रहा हूँ मैं जानने के लिए काफी एक बिट करने के लिए समझ में कैसे Powershell cmdlets कर रहे हैं वास्तव में जानकारी के प्रसंस्करण. और भी धन्यवाद के लिए बाहर ओर इशारा करते हुए कि पाश समाधान होगा वास्तव में धीमी हो. दरअसल, Powershell है एक बहुत की पेशकश करने के लिए. मैं वर्तमान में वास्तव में यह पसंद है स्वचालित करने के लिए सामान ले ली है, जो काफी एक ही क्लिक अन्यथा (शुरु सेवाएं, हटाने रजिस्ट्री प्रविष्टियों शुरु explorer.exe). इसलिए मुझे उम्मीद है एक प्यार-नफरत रिश्ता powershell के साथ अब के लिए :-)
Gunter

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में