使用PowerShell删除本地Windows配置文件

时间:2010-09-20 21:40:44

标签: powershell wmi

我正在尝试编写一个删除测试帐户本地配置文件的脚本。我使用以下行返回任何以“test - ”

开头的帐户的SID

PowerShell:$UserSID = (Get-WmiObject Win32_UserProfile | Where {$_.LocalPath -like '*\test-*'}).SID

一旦我有了SID,我使用wmic进行删除,但是,我不知道如何将该代码转换为PowerShell。

WMIC:wmic /node:"localhost" path win32_UserProfile where Sid="%%b" Delete

5 个答案:

答案 0 :(得分:4)

我认为这会有效,但我在Win32_UserProfile类上找不到删除方法

$UserSID = (Get-WmiObject Win32_UserProfile | Where {$_.LocalPath -like '*\test-*'}).SID
(gwmi -class Win32_UserProfile -filter "SID='$UserSID'").Delete()

答案 1 :(得分:3)

您也可以直接在一个语句中调用Delete方法:

(Get-WmiObject Win32_UserProfile | Where {$_.LocalPath -like '*\test-*'}).Delete()

答案 2 :(得分:2)

使用“0”参数调用“删除”的异常 的另一个原因是您尝试删除的用户当前已登录。登录他然后再试一次。

答案 3 :(得分:1)

Get-WmiObject Win32_UserProfile -Filter "RoamingConfigured = 'True'" | Remove-WmiObject

True - 漫游资料
False - 本地资料

答案 4 :(得分:0)

我通过以管理员身份打开Powershell解决了这个问题(右键单击,以管理员身份运行)。