Hey,
benutze diese funktion um auf einem remote rechner die Admin user auszulesen aber kriege bei einigen rechner folgenden fehler
==> Variable must be of type "Object".:
$colItems = $objWMIService.ExecQuery("Select SID from Win32_Group WHERE Domain='" & $srv & "'", "WQL", 0x30)
$colItems = $objWMIService^ ERROR
wie kann ich das abfangen?
so das mein script nicht abstürtzt oder besser verhindern:
[autoit][/autoit][autoit][/autoit][autoit]Func Membership_Administrators_Local($srv)
If StringUpper($srv) = StringUpper("Localhost") Then $srv = @ComputerName
Local $function_name = "Members"
Local $LM_members, $x, $LM_LocalGroup_Name, $type, $colItems2, $LM_local_user, $y, $line, $TimeStamp
Local $filename_ms = $function_name & "_" & $srv
Local $filename_error_current = $function_name & "_" & $srv & "_error.log"
$LM_LocalGroup_Name = "Administrators"
$colItems = $objWMIService.ExecQuery("Select SID from Win32_Group WHERE Domain='" & $srv & "'", "WQL", 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
If StringUpper($objItem.SID) = StringUpper("S-1-5-32-544") Then $LM_LocalGroup_Name = $objItem.Name
Next
EndIf
$type = ""
$LM_local_user = ""
$colItems = $objWMIService.ExecQuery("Select * from Win32_GroupUser Where GroupComponent=""Win32_Group.Domain='" & $srv & "',Name='" & $LM_LocalGroup_Name & "'""", "WQL", 0x30)
If IsObj($colItems) Then
For $objItem In $colItems
If $objItem.PartComponent <> "" Then
$x = StringSplit($objItem.PartComponent, """")
$type = StringMid($x[1], StringInStr($x[1], ":Win32_") + 7, (StringInStr($x[1], ".") - (StringInStr($x[1], ":Win32_") + 7)))
$LM_members &= $srv & "|" & $LM_LocalGroup_Name & "|" & $type & "|" & $x[2] & "\" & $x[4] & "|" & @CRLF
GUICtrlCreateListViewItem($srv & "|" & $LM_LocalGroup_Name & "|" & $type & "|" & $x[2] & "\" & $x[4] & "|", $Liste)
EndIf
Next
EndIf
ConsoleWrite($LM_members)
EndFunc ;==>Membership_Administrators_Local
[/autoit]Danke
SubZero