2017-12-05 35 views
0

リモートコンピュータのプロファイルと関連するレジストリエントリを削除するためにPowerShellを使用しようとしています。使用しているアカウントには、リモートコンピュータの管理者権限があります。私はアカウントのSIDをプルするか、プロファイルを削除するのに問題はありません。私の問題は、HKLM:\ SOFTWARE \ Microsoft \ 'Windows NT \ CurrentVersion \ ProfileListにあるアカウントのレジストリキーを削除しようとしたときに発生します。すべてのSIDにはキーがあり、削除するプロファイルに一致するものを削除したいと考えています。PowerShellを使用してリモートコンピュータからレジストリキーを削除する方法を教えてください。

これは私がこれまで試してみました何をされています

Enter-PSSession $comp 
Remove-Item "HKLM:\SOFTWARE\Microsoft\'Windows NT'\CurrentVersion\ProfileList\$SID" 
Exit-PSSession 

これは、次のような結果だ:私はローカルマシン上で同じコマンドを実行した場合

Remove-Item : Cannot find path 'HKLM:\SOFTWARE\Microsoft\'Windows 
NT'\CurrentVersion\ProfileList\S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-1000' because it does not exist. 

を、キーが正常に削除されます。

私も試してみました:

次を返さ
Enter-PSSession $comp 
Remove-ItemProperty -path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList' -name $SID 
Exit-PSSession 

Remove-Itemproperty : Requested registry access is not allowed. 

私はまた、ローカルに動作しますまったく同じコマンドを実行するために呼び出すコマンドを使用してみましたが、私は同じエラーを取得。

紛失しているものがありますか?私の間違ったことを親切な人が指摘できますか?可能であれば、第三者モジュールをインストールするのではなく、組み込みのコマンドを使用して実際にこれを実行したいと思います。

+0

これは管理者として実行していますか? –

+0

私が使用しているアカウントは、リモートコンピュータの管理者権限を持つドメインアカウントです。 – Vorga

+0

PSSessionを管理者として実行する必要があります。 –

答えて

0

ユーザープロファイルを削除する予定でサードパーティのツールを使用できない場合は、CIMクラスの使用をお勧めします。

Get-CimInstance -ClassName Win32_UserProfile -Filter "SID = 'S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-1000'" -ComputerName $comp | Remove-CIMInstance -WhatIf 

winrmが有効になっていないか構成されていないと、WMIでフォールバックできます。

Get-WmiObject -Class WIN32_UserProfile -Filter "SID = 'S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-1000'" -ComputerName $comp | Remove-WmiObject -WhatIf 

これは、レジストリキーだけでなく、プロファイルに関連付けられたフォルダも取得します。

+0

ありがとう! WMIメソッドは、私が探していたものとまったく同じでした。 – Vorga

関連する問題