break on
$computer = "remotePCname"
? '---- Computer ----'
$objWMIService = GetObject("winmgmts:\\" + $Computer + "\root\rsop\computer")
$GPOItems = $objWMIService.ExecQuery("Select * From RSOP_GPLink Where AppliedOrder <>'0'")
For Each $GPOItem in $GPOItems
$left=instr($GPOItem.GPO,'{')
$right=instr($GPOItem.GPO,'}')+1
$gpoid = substr($GPOItem.GPO,$left,$right-$left)
? $GPOItem.AppliedOrder
$colItems = $objWMIService.ExecQuery("Select * from RSOP_GPO where GUIDName='" +$GPOID+"'")
For Each $objItem in $colItems
" - " + "Name: " + $objItem.Name
;? "GUID Name: " + $objItem.GUIDName
Next
Next
? '---- User ----'
$objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" + $Computer + "\root\cimv2")
$colProc = $objWmi.ExecQuery("Select * from Win32_Process Where Name='explorer.exe'")
For Each $oProcess In $colProc
$SID = $oprocess.ExecMethod_("GetOwnerSID").SID
$User = $oprocess.ExecMethod_("GetOwner").User
$User
$wmiSID = Join(split($SID,"-"),"_")
Next
$objWMIService = GetObject("winmgmts:\\" + $Computer + "\root\rsop\user\"+$wmiSID)
$GPOItems = $objWMIService.ExecQuery("Select * From RSOP_GPLink Where AppliedOrder <>'0'")
For Each $GPOItem in $GPOItems
$left=instr($GPOItem.GPO,'{')
$right=instr($GPOItem.GPO,'}')+1
$gpoid = substr($GPOItem.GPO,$left,$right-$left)
? $GPOItem.AppliedOrder
$colItems = $objWMIService.ExecQuery("Select * from RSOP_GPO where GUIDName='" +$GPOID+"'")
For Each $objItem in $colItems
" - " + "Name: " + $objItem.Name
;? "GUID Name: " + $objItem.GUIDName
Next
Next