set objWMILocator = CreateObject("WbemScripting.SWbemLocator")
objWMILocator.Security_.AuthenticationLevel = 6
####
Option Explicit
On Error Resume Next
Dim strServ, strUsrN, strPasswd
strServ = "10.x.x.x"
strUsrN = "Administrator"
strPasswd = "******"
Const WMIPATH = "root\Citrix\WanScaler"
Dim objWMILocator
set objWMILocator = CreateObject("WbemScripting.SWbemLocator")
If Err.Number then
Wscript.Echo( "CreateObject: error 0x" & CStr(Hex(Err.Number)) )
WScript.Quit(1)
end if
objWMILocator.Security_.AuthenticationLevel = 6
Dim objService
Set objService = objWMILocator.ConnectServer(strServ, WMIPATH, strUsrN, strPasswd)
If Err.number Then
Wscript.Echo( "Connect Error 0x" & CStr(Err.Number))
WScript.Quit(1)
End If
Dim colSettings, strQuery
strQuery = "Select * from Citrix_WS_SystemConfig"
Set colSettings = objService.ExecQuery(strQuery)
Dim objClassProperty, objInstance, colProperties, strOutPut
For Each objInstance in colSettings
Set colProperties = objInstance.Properties_
For Each objClassProperty In colProperties
strOutput = objClassProperty.Name & " = " & objClassProperty.Value
WScript.Echo " " & strOutput
Next
WScript.echo " "
Next
WScript.Quit(0)
####
use strict;
use Win32::OLE;
use Data::Dumper;
my $strServ = "10.x.x.x";
my $wmipath = "root\\Citrix\\WanScaler";
my $strUsrN = "Administrator";
my $strPasswd = "******";
my $objWMILocator;
unless( Win32::OLE::CreateObject( "WbemScripting.SWbemLocator", $objWMILocator ))
{
print("Cannot create objWMILocator ($!)\n");
exit;
}
# TBD - FIX THIS
# objWMILocator.Security_.AuthenticationLevel = 6
my $objWMIService;
$objWMIService = $objWMILocator->ConnectServer($strServ,$wmipath,$strUsrN,$strPasswd)
or die "Can't access WMI on remote machine $strServ\n";
my $colItems = $objWMIService->ExecQuery( "Select * From Citrix_WS_SystemConfig" )
or die "ExecQuery failed";
foreach my $objItem ( in $colItems ) {
#code yet to be written
}
print "\nfinished\n";