by Sentri at 2012-11-12 08:19:46
A few weeks back I had a few questions that – through trial and error – was able to figure out. The following code is something I previously was able to use to change the owner of a SID. However, for reasons unknown, that same exact code no longer works and I'm mystified by this. Here is the code, as well as the error message:
$OriginalUser = gwmi win32_UserAccount -ComputerName testboxcpc -Filter "Name= 'rcc2122' AND LocalAccount=True"
$NewUser = gwmi "win32_UserAccount WHERE Name= 'rcc2122' AND Domain='Cul'"
$Profile = gwmi win32_UserProfile -ComputerName testboxcpc -filter "SID= '$($OriginalUser.SID)'"
Exception calling "ChangeOwner" : ""
At line:4 char:1
+ CategoryInfo : NotSpecified: (:) , MethodInvocationException
+ FullyQualifiedErrorId : WMIMethodException
by Sentri at 2012-11-12 13:00:15
So I figured out what the problem was; I had logged in with both accounts for some reason and then tried running changeowner, which will obviously not work! It does work as it's supposed to though, once I deleted the domain account and left the local account to be changed. However, I would like to know how this syntax works:
gwmi win32_UserProfile -ComputerName testboxcpc -filter "SID= '$($OriginalUser.SID)'" — I'm unsure how the "SID= '$($OriginalUser.SID)'" portion of that line actually functions? Anyone have any idea? Thanks!
by coderaven at 2012-11-26 07:08:56
The line in question may function just because the WMI filter switch uses the WSQL syntax instead of the PowerShell syntax.