刪除特定於使用者並包含在使用者配置單元中的系統資料庫值
試圖讓腳本在我的域中執行以刪除使用者配置單元中包含的系統資料庫值。
這是它將定位的路徑:
HKCU:\Software\Microsoft\OfficeCompat\Outlook\AddinCleanLoad\
和
HKCU:\Software\Microsoft\OfficeCompat\Outlook\AddinUsage\
HKEY_USERS + SID
顯然,當作為另一個使用者或遠端執行時,這需要更改。但我不會搜尋所有現有的 SID。這是因使用者而異的系統資料庫值:
C:\Users\USERNAME\AppData\Roaming\ZeroSpam\adxloader.dll
因此,在配置單元中找到值我可以在 powershell 中使用 $env:APPDATA 變數,但是由於我要刪除該值,所以我將以管理員身份執行,所以這不起作用(變數將返回管理員的路徑) .
那麼我將如何在 Powershell 中搜尋所有(注意 SID 中的萬用字元)
HKEY_USERS\S-1-5-21-*\Software\Microsoft\OfficeCompat\Outlook\AddinCleanLoad\
並HKEY_USERS\S-1-5-21-\Software\Microsoft\OfficeCompat\Outlook\AddinUsage\
查找和刪除 的任何值*\AppData\Roaming\ZeroSpam\adxloader.dll
?(dll之前的路徑很重要,因為程序文件中存在另一個,我不想刪除那個)我試過沒有運氣:
Get-ChildItem -Path "REGISTRY::HKEY_USERS\" -Recurse -Include *\AppData\Roaming\ZeroSpam\* -ErrorAction SilentlyContinue
設法用這個做我想做的事:
$path = "REGISTRY::HKEY_USERS\S-1-5-21*\Software\Microsoft\OfficeCompat\Outlook\Addin*" $values = (Get-Item -Path $path ).GetValueNames() | Where {$_ -like "*\AppData\Roaming\ZeroSpam\*"} Remove-ItemProperty -Path $path -Name $values[0] -ErrorAction SilentlyContinue Remove-ItemProperty -Path $path -Name $values[1] -ErrorAction SilentlyContinue