开发者

Delete local windows profile with PowerShell

开发者 https://www.devze.com 2023-01-17 02:24 出处:网络
I am trying to write a script that will delete the local profile of a test account. I am using the following line to return the SID of any account that starts with \"test-\"

I am trying to write a script that will delete the local profile of a test account. I am using the following line to return the SID of any account that starts with "test-"

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

Once I had t开发者_运维知识库he SID I used wmic to do the deletion but, I am not sure how to translate that code into PowerShell.

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


I was thinking this would work, but I don't find a delete method on the Win32_UserProfile class

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


You can also just call the Delete method directly in a single statement:

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


Another reason of getting Exception calling "Delete" with "0" argument(s) is the user you're trying to delete is currently logged in. Log him off and try again.


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

True - Roaming profile
False - Local Profile


I resolved this issue by opening Powershell as administrator (right click, Run as Administrator).

0

精彩评论

暂无评论...
验证码 换一张
取 消