tags:

views:

125

answers:

1

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 the 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

+1  A: 

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()
Mike Shepard
I get the following error:Exception calling "Delete" with "0" argument(s): ""At line:2 char:64+ (gwmi -class Win32_UserProfile -filter "SID='$UserSID'").Delete <<<< () + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException
pizzim13
I needed to add "-ComputerName localhost" to your line.
pizzim13