LiHang Posted May 21, 2010 Posted May 21, 2010 Hi, Need help for SDO object. I searched the whole forum and cannot find any existing topics. (If I incorrectly used the search function here, pls help me ) Recently I'm working on Autoit to manage our IAS server (Microsoft Internet Authentication Service). There's some MS technical documents about the interface to this service, named SDO (Server Data Objects). With the sample VBScript, it could work. Since we need GUI for such tools, I tried to migrate the vbscript to Autoit, but always failed. Below is the sample vbscript from MS: expandcollapse popupOption Explicit Const DATA_STORE_LOCAL = 0 Const PROPERTY_SDO_NAME = 2 Const PROPERTY_IAS_POLICIES_COLLECTION = 1025 Const PROPERTY_IAS_PROFILES_COLLECTION = 1026 Const PROPERTY_IAS_PROTOCOLS_COLLECTION = 1027 Const PROPERTY_RADIUS_CLIENTS_COLLECTION = 1029 Const PROPERTY_CLIENT_REQUIRE_SIGNATURE = 1024 Const PROPERTY_CLIENT_SHARED_SECRET = 1026 Const PROPERTY_CLIENT_NAS_MANUFACTURER = 1027 Const PROPERTY_CLIENT_ADDRESS = 1028 Const PROPERTY_PROFILE_ATTRIBUTES_COLLECTION = 1024 Const PROPERTY_ATTRIBUTE_ID = 1024 Const PROPERTY_ATTRIBUTE_DISPLAY_NAME = 1035 Const PROPERTY_POLICY_CONSTRAINT = 1024 Const PROPERTY_POLICY_MERIT = 1025 Const PROPERTY_POLICY_PROFILE_NAME = 1028 Const PROPERTY_POLICY_ACTION = 1029 Const PROPERTY_POLICY_CONDITIONS_COLLECTION = 1030 Const PROPERTY_CONDITION_TEXT = 1024 Dim sdoMachine, sdoServiceSDO Dim sdoCollProfiles, sdoCollProtocols, sdoCollClients, sdoCollPolicies Dim sdoCollAttributes, sdoCollConditions Dim sdoRADIUS Dim vtProfile, vtProtocol, vtClient, vtPolicy, vtAttribute, vtCondition Dim ServerName ServerName="server1" Set sdoMachine = CreateObject("IAS.SdoMachine") sdoMachine.Attach ServerName Set sdoServiceSDO = sdoMachine.GetServiceSDO(DATA_STORE_LOCAL, "IAS") ' ' List Clients ' Set sdoCollProtocols = sdoServiceSDO.GetProperty(PROPERTY_IAS_PROTOCOLS_COLLECTION) Set sdoRADIUS = sdoCollProtocols.Item("Microsoft Radius Protocol") Set sdoCollClients = sdoRADIUS.GetProperty(PROPERTY_RADIUS_CLIENTS_COLLECTION) WScript.Echo "On Server " & Chr(34) & ServerName & Chr(34) & " found " & sdoCollClients.Count & " client(s)." For Each vtClient in sdoCollClients WScript.Echo "Client Friendly Name " & Chr(34) & vtClient.GetProperty(PROPERTY_SDO_NAME) & Chr(34) &vbCRLF & "Shared Secret " & Chr(34) & vtClient.GetProperty(PROPERTY_CLIENT_SHARED_SECRET) & Chr(34) & vbCRLF & "IP Address" & Chr(34) & vtClient.GetProperty(PROPERTY_CLIENT_ADDRESS) & Chr(34) Next 'vtClient And below is the autoit script (I added a lot constants in it) expandcollapse popupOpt("MustDeclareVars", 1) #region Define IAS Constants ;ATTRIBUTEID Const $ATTRIBUTE_UNDEFINED = 0 Const $ATTRIBUTE_MIN_VALUE = 1 Const $RADIUS_ATTRIBUTE_USER_NAME = $ATTRIBUTE_MIN_VALUE Const $RADIUS_ATTRIBUTE_USER_PASSWORD = $RADIUS_ATTRIBUTE_USER_NAME + 1 Const $RADIUS_ATTRIBUTE_CHAP_PASSWORD = $RADIUS_ATTRIBUTE_USER_PASSWORD + 1 Const $RADIUS_ATTRIBUTE_NAS_IP_ADDRESS = $RADIUS_ATTRIBUTE_CHAP_PASSWORD + 1 Const $RADIUS_ATTRIBUTE_NAS_PORT = $RADIUS_ATTRIBUTE_NAS_IP_ADDRESS + 1 Const $RADIUS_ATTRIBUTE_SERVICE_TYPE = $RADIUS_ATTRIBUTE_NAS_PORT + 1 Const $RADIUS_ATTRIBUTE_FRAMED_PROTOCOL = $RADIUS_ATTRIBUTE_SERVICE_TYPE + 1 Const $RADIUS_ATTRIBUTE_FRAMED_IP_ADDRESS = $RADIUS_ATTRIBUTE_FRAMED_PROTOCOL + 1 Const $RADIUS_ATTRIBUTE_FRAMED_IP_NETMASK = $RADIUS_ATTRIBUTE_FRAMED_IP_ADDRESS + 1 Const $RADIUS_ATTRIBUTE_FRAMED_ROUTING = $RADIUS_ATTRIBUTE_FRAMED_IP_NETMASK + 1 Const $RADIUS_ATTRIBUTE_FILTER_ID = $RADIUS_ATTRIBUTE_FRAMED_ROUTING + 1 Const $RADIUS_ATTRIBUTE_FRAMED_MTU = $RADIUS_ATTRIBUTE_FILTER_ID + 1 Const $RADIUS_ATTRIBUTE_FRAMED_COMPRESSION = $RADIUS_ATTRIBUTE_FRAMED_MTU + 1 Const $RADIUS_ATTRIBUTE_LOGIN_IP_HOST = $RADIUS_ATTRIBUTE_FRAMED_COMPRESSION + 1 Const $RADIUS_ATTRIBUTE_LOGIN_SERVICE = $RADIUS_ATTRIBUTE_LOGIN_IP_HOST + 1 Const $RADIUS_ATTRIBUTE_LOGIN_TCP_PORT = $RADIUS_ATTRIBUTE_LOGIN_SERVICE + 1 Const $RADIUS_ATTRIBUTE_UNASSIGNED1 = $RADIUS_ATTRIBUTE_LOGIN_TCP_PORT + 1 Const $RADIUS_ATTRIBUTE_REPLY_MESSAGE = $RADIUS_ATTRIBUTE_UNASSIGNED1 + 1 Const $RADIUS_ATTRIBUTE_CALLBACK_NUMBER = $RADIUS_ATTRIBUTE_REPLY_MESSAGE + 1 Const $RADIUS_ATTRIBUTE_CALLBACK_ID = $RADIUS_ATTRIBUTE_CALLBACK_NUMBER + 1 Const $RADIUS_ATTRIBUTE_UNASSIGNED2 = $RADIUS_ATTRIBUTE_CALLBACK_ID + 1 Const $RADIUS_ATTRIBUTE_FRAMED_ROUTE = $RADIUS_ATTRIBUTE_UNASSIGNED2 + 1 Const $RADIUS_ATTRIBUTE_FRAMED_IPX_NETWORK = $RADIUS_ATTRIBUTE_FRAMED_ROUTE + 1 Const $RADIUS_ATTRIBUTE_STATE = $RADIUS_ATTRIBUTE_FRAMED_IPX_NETWORK + 1 Const $RADIUS_ATTRIBUTE_CLASS = $RADIUS_ATTRIBUTE_STATE + 1 Const $RADIUS_ATTRIBUTE_VENDOR_SPECIFIC = $RADIUS_ATTRIBUTE_CLASS + 1 Const $RADIUS_ATTRIBUTE_SESSION_TIMEOUT = $RADIUS_ATTRIBUTE_VENDOR_SPECIFIC + 1 Const $RADIUS_ATTRIBUTE_IDLE_TIMEOUT = $RADIUS_ATTRIBUTE_SESSION_TIMEOUT + 1 Const $RADIUS_ATTRIBUTE_TERMINATION_ACTION = $RADIUS_ATTRIBUTE_IDLE_TIMEOUT + 1 Const $RADIUS_ATTRIBUTE_CALLED_STATION_ID = $RADIUS_ATTRIBUTE_TERMINATION_ACTION + 1 Const $RADIUS_ATTRIBUTE_CALLING_STATION_ID = $RADIUS_ATTRIBUTE_CALLED_STATION_ID + 1 Const $RADIUS_ATTRIBUTE_NAS_IDENTIFIER = $RADIUS_ATTRIBUTE_CALLING_STATION_ID + 1 Const $RADIUS_ATTRIBUTE_PROXY_STATE = $RADIUS_ATTRIBUTE_NAS_IDENTIFIER + 1 Const $RADIUS_ATTRIBUTE_LOGIN_LAT_SERVICE = $RADIUS_ATTRIBUTE_PROXY_STATE + 1 Const $RADIUS_ATTRIBUTE_LOGIN_LAT_NODE = $RADIUS_ATTRIBUTE_LOGIN_LAT_SERVICE + 1 Const $RADIUS_ATTRIBUTE_LOGIN_LAT_GROUP = $RADIUS_ATTRIBUTE_LOGIN_LAT_NODE + 1 Const $RADIUS_ATTRIBUTE_FRAMED_APPLETALK_LINK = $RADIUS_ATTRIBUTE_LOGIN_LAT_GROUP + 1 Const $RADIUS_ATTRIBUTE_FRAMED_APPLETALK_NET = $RADIUS_ATTRIBUTE_FRAMED_APPLETALK_LINK + 1 Const $RADIUS_ATTRIBUTE_FRAMED_APPLETALK_ZONE = $RADIUS_ATTRIBUTE_FRAMED_APPLETALK_NET + 1 Const $RADIUS_ATTRIBUTE_ACCT_STATUS_TYPE = $RADIUS_ATTRIBUTE_FRAMED_APPLETALK_ZONE + 1 Const $RADIUS_ATTRIBUTE_ACCT_DELAY_TIME = $RADIUS_ATTRIBUTE_ACCT_STATUS_TYPE + 1 Const $RADIUS_ATTRIBUTE_ACCT_INPUT_OCTETS = $RADIUS_ATTRIBUTE_ACCT_DELAY_TIME + 1 Const $RADIUS_ATTRIBUTE_ACCT_OUTPUT_OCTETS = $RADIUS_ATTRIBUTE_ACCT_INPUT_OCTETS + 1 Const $RADIUS_ATTRIBUTE_ACCT_SESSION_ID = $RADIUS_ATTRIBUTE_ACCT_OUTPUT_OCTETS + 1 Const $RADIUS_ATTRIBUTE_ACCT_AUTHENTIC = $RADIUS_ATTRIBUTE_ACCT_SESSION_ID + 1 Const $RADIUS_ATTRIBUTE_ACCT_SESSION_TIME = $RADIUS_ATTRIBUTE_ACCT_AUTHENTIC + 1 Const $RADIUS_ATTRIBUTE_ACCT_INPUT_PACKETS = $RADIUS_ATTRIBUTE_ACCT_SESSION_TIME + 1 Const $RADIUS_ATTRIBUTE_ACCT_OUTPUT_PACKETS = $RADIUS_ATTRIBUTE_ACCT_INPUT_PACKETS + 1 Const $RADIUS_ATTRIBUTE_ACCT_TERMINATE_CAUSE = $RADIUS_ATTRIBUTE_ACCT_OUTPUT_PACKETS + 1 Const $RADIUS_ATTRIBUTE_ACCT_MULTI_SSN_ID = $RADIUS_ATTRIBUTE_ACCT_TERMINATE_CAUSE + 1 Const $RADIUS_ATTRIBUTE_ACCT_LINK_COUNT = $RADIUS_ATTRIBUTE_ACCT_MULTI_SSN_ID + 1 Const $RADIUS_ATTRIBUTE_CHAP_CHALLENGE = 60 Const $RADIUS_ATTRIBUTE_NAS_PORT_TYPE = $RADIUS_ATTRIBUTE_CHAP_CHALLENGE + 1 Const $RADIUS_ATTRIBUTE_PORT_LIMIT = $RADIUS_ATTRIBUTE_NAS_PORT_TYPE + 1 Const $RADIUS_ATTRIBUTE_LOGIN_LAT_PORT = $RADIUS_ATTRIBUTE_PORT_LIMIT + 1 Const $RADIUS_ATTRIBUTE_TUNNEL_TYPE = $RADIUS_ATTRIBUTE_LOGIN_LAT_PORT + 1 Const $RADIUS_ATTRIBUTE_TUNNEL_MEDIUM_TYPE = $RADIUS_ATTRIBUTE_TUNNEL_TYPE + 1 Const $RADIUS_ATTRIBUTE_TUNNEL_CLIENT_ENDPT = $RADIUS_ATTRIBUTE_TUNNEL_MEDIUM_TYPE + 1 Const $RADIUS_ATTRIBUTE_TUNNEL_SERVER_ENDPT = $RADIUS_ATTRIBUTE_TUNNEL_CLIENT_ENDPT + 1 Const $RADIUS_ATTRIBUTE_ACCT_TUNNEL_CONN = $RADIUS_ATTRIBUTE_TUNNEL_SERVER_ENDPT + 1 Const $RADIUS_ATTRIBUTE_TUNNEL_PASSWORD = $RADIUS_ATTRIBUTE_ACCT_TUNNEL_CONN + 1 Const $RADIUS_ATTRIBUTE_ARAP_PASSWORD = $RADIUS_ATTRIBUTE_TUNNEL_PASSWORD + 1 Const $RADIUS_ATTRIBUTE_ARAP_FEATURES = $RADIUS_ATTRIBUTE_ARAP_PASSWORD + 1 Const $RADIUS_ATTRIBUTE_ARAP_ZONE_ACCESS = $RADIUS_ATTRIBUTE_ARAP_FEATURES + 1 Const $RADIUS_ATTRIBUTE_ARAP_SECURITY = $RADIUS_ATTRIBUTE_ARAP_ZONE_ACCESS + 1 Const $RADIUS_ATTRIBUTE_ARAP_SECURITY_DATA = $RADIUS_ATTRIBUTE_ARAP_SECURITY + 1 Const $RADIUS_ATTRIBUTE_PASSWORD_RETRY = $RADIUS_ATTRIBUTE_ARAP_SECURITY_DATA + 1 Const $RADIUS_ATTRIBUTE_PROMPT = 76 Const $RADIUS_ATTRIBUTE_CONNECT_INFO = $RADIUS_ATTRIBUTE_PROMPT + 1 Const $RADIUS_ATTRIBUTE_CONFIGURATION_TOKEN = $RADIUS_ATTRIBUTE_CONNECT_INFO + 1 Const $RADIUS_ATTRIBUTE_EAP_MESSAGE = $RADIUS_ATTRIBUTE_CONFIGURATION_TOKEN + 1 Const $RADIUS_ATTRIBUTE_SIGNATURE = $RADIUS_ATTRIBUTE_EAP_MESSAGE + 1 Const $RADIUS_ATTRIBUTE_TUNNEL_PVT_GROUP_ID = $RADIUS_ATTRIBUTE_SIGNATURE + 1 Const $RADIUS_ATTRIBUTE_TUNNEL_ASSIGNMENT_ID = $RADIUS_ATTRIBUTE_TUNNEL_PVT_GROUP_ID + 1 Const $RADIUS_ATTRIBUTE_TUNNEL_PREFERENCE = $RADIUS_ATTRIBUTE_TUNNEL_ASSIGNMENT_ID + 1 Const $RADIUS_ATTRIBUTE_ARAP_CHALLENGE_RESPONSE = $RADIUS_ATTRIBUTE_TUNNEL_PREFERENCE + 1 Const $RADIUS_ATTRIBUTE_ACCT_INTERIM_INTERVAL = $RADIUS_ATTRIBUTE_ARAP_CHALLENGE_RESPONSE + 1 Const $IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_IP_ADDRESS = 0x1000 Const $IAS_ATTRIBUTE_SAVED_RADIUS_CALLBACK_NUMBER = $IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_IP_ADDRESS + 1 Const $IAS_ATTRIBUTE_NP_CALLING_STATION_ID = $IAS_ATTRIBUTE_SAVED_RADIUS_CALLBACK_NUMBER + 1 Const $IAS_ATTRIBUTE_SAVED_NP_CALLING_STATION_ID = $IAS_ATTRIBUTE_NP_CALLING_STATION_ID + 1 Const $IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_ROUTE = $IAS_ATTRIBUTE_SAVED_NP_CALLING_STATION_ID + 1 Const $IAS_ATTRIBUTE_IGNORE_USER_DIALIN_PROPERTIES = $IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_ROUTE + 1 Const $IAS_ATTRIBUTE_NP_TIME_OF_DAY = $IAS_ATTRIBUTE_IGNORE_USER_DIALIN_PROPERTIES + 1 Const $IAS_ATTRIBUTE_NP_CALLED_STATION_ID = $IAS_ATTRIBUTE_NP_TIME_OF_DAY + 1 Const $IAS_ATTRIBUTE_NP_ALLOWED_PORT_TYPES = $IAS_ATTRIBUTE_NP_CALLED_STATION_ID + 1 Const $IAS_ATTRIBUTE_NP_AUTHENTICATION_TYPE = $IAS_ATTRIBUTE_NP_ALLOWED_PORT_TYPES + 1 Const $IAS_ATTRIBUTE_NP_ALLOWED_EAP_TYPE = $IAS_ATTRIBUTE_NP_AUTHENTICATION_TYPE + 1 Const $IAS_ATTRIBUTE_SHARED_SECRET = $IAS_ATTRIBUTE_NP_ALLOWED_EAP_TYPE + 1 Const $IAS_ATTRIBUTE_CLIENT_IP_ADDRESS = $IAS_ATTRIBUTE_SHARED_SECRET + 1 Const $IAS_ATTRIBUTE_CLIENT_PACKET_HEADER = $IAS_ATTRIBUTE_CLIENT_IP_ADDRESS + 1 Const $IAS_ATTRIBUTE_TOKEN_GROUPS = $IAS_ATTRIBUTE_CLIENT_PACKET_HEADER + 1 Const $IAS_ATTRIBUTE_ALLOW_DIALIN = $IAS_ATTRIBUTE_TOKEN_GROUPS + 1 Const $IAS_ATTRIBUTE_REQUEST_ID = $IAS_ATTRIBUTE_ALLOW_DIALIN + 1 Const $IAS_ATTRIBUTE_MANIPULATION_TARGET = $IAS_ATTRIBUTE_REQUEST_ID + 1 Const $IAS_ATTRIBUTE_MANIPULATION_RULE = $IAS_ATTRIBUTE_MANIPULATION_TARGET + 1 Const $IAS_ATTRIBUTE_ORIGINAL_USER_NAME = $IAS_ATTRIBUTE_MANIPULATION_RULE + 1 Const $IAS_ATTRIBUTE_CLIENT_VENDOR_TYPE = $IAS_ATTRIBUTE_ORIGINAL_USER_NAME + 1 Const $IAS_ATTRIBUTE_CLIENT_UDP_PORT = $IAS_ATTRIBUTE_CLIENT_VENDOR_TYPE + 1 Const $MS_ATTRIBUTE_CHAP_CHALLENGE = $IAS_ATTRIBUTE_CLIENT_UDP_PORT + 1 Const $MS_ATTRIBUTE_CHAP_RESPONSE = $MS_ATTRIBUTE_CHAP_CHALLENGE + 1 Const $MS_ATTRIBUTE_CHAP_DOMAIN = $MS_ATTRIBUTE_CHAP_RESPONSE + 1 Const $MS_ATTRIBUTE_CHAP_ERROR = $MS_ATTRIBUTE_CHAP_DOMAIN + 1 Const $MS_ATTRIBUTE_CHAP_CPW1 = $MS_ATTRIBUTE_CHAP_ERROR + 1 Const $MS_ATTRIBUTE_CHAP_CPW2 = $MS_ATTRIBUTE_CHAP_CPW1 + 1 Const $MS_ATTRIBUTE_CHAP_LM_ENC_PW = $MS_ATTRIBUTE_CHAP_CPW2 + 1 Const $MS_ATTRIBUTE_CHAP_NT_ENC_PW = $MS_ATTRIBUTE_CHAP_LM_ENC_PW + 1 Const $MS_ATTRIBUTE_CHAP_MPPE_KEYS = $MS_ATTRIBUTE_CHAP_NT_ENC_PW + 1 Const $IAS_ATTRIBUTE_AUTHENTICATION_TYPE = $MS_ATTRIBUTE_CHAP_MPPE_KEYS + 1 Const $IAS_ATTRIBUTE_CLIENT_NAME = $IAS_ATTRIBUTE_AUTHENTICATION_TYPE + 1 Const $IAS_ATTRIBUTE_NT4_ACCOUNT_NAME = $IAS_ATTRIBUTE_CLIENT_NAME + 1 Const $IAS_ATTRIBUTE_FULLY_QUALIFIED_USER_NAME = $IAS_ATTRIBUTE_NT4_ACCOUNT_NAME + 1 Const $IAS_ATTRIBUTE_NTGROUPS = $IAS_ATTRIBUTE_FULLY_QUALIFIED_USER_NAME + 1 Const $IAS_ATTRIBUTE_EAP_FRIENDLY_NAME = $IAS_ATTRIBUTE_NTGROUPS + 1 Const $IAS_ATTRIBUTE_AUTH_PROVIDER_TYPE = $IAS_ATTRIBUTE_EAP_FRIENDLY_NAME + 1 Const $MS_ATTRIBUTE_ACCT_AUTH_TYPE = $IAS_ATTRIBUTE_AUTH_PROVIDER_TYPE + 1 Const $MS_ATTRIBUTE_ACCT_EAP_TYPE = $MS_ATTRIBUTE_ACCT_AUTH_TYPE + 1 Const $IAS_ATTRIBUTE_PACKET_TYPE = $MS_ATTRIBUTE_ACCT_EAP_TYPE + 1 Const $IAS_ATTRIBUTE_AUTH_PROVIDER_NAME = $IAS_ATTRIBUTE_PACKET_TYPE + 1 Const $IAS_ATTRIBUTE_ACCT_PROVIDER_TYPE = $IAS_ATTRIBUTE_AUTH_PROVIDER_NAME + 1 Const $IAS_ATTRIBUTE_ACCT_PROVIDER_NAME = $IAS_ATTRIBUTE_ACCT_PROVIDER_TYPE + 1 Const $MS_ATTRIBUTE_MPPE_SEND_KEY = $IAS_ATTRIBUTE_ACCT_PROVIDER_NAME + 1 Const $MS_ATTRIBUTE_MPPE_RECV_KEY = $MS_ATTRIBUTE_MPPE_SEND_KEY + 1 Const $IAS_ATTRIBUTE_REASON_CODE = $MS_ATTRIBUTE_MPPE_RECV_KEY + 1 Const $MS_ATTRIBUTE_FILTER = $IAS_ATTRIBUTE_REASON_CODE + 1 Const $MS_ATTRIBUTE_CHAP2_RESPONSE = $MS_ATTRIBUTE_FILTER + 1 Const $MS_ATTRIBUTE_CHAP2_SUCCESS = $MS_ATTRIBUTE_CHAP2_RESPONSE + 1 Const $MS_ATTRIBUTE_CHAP2_CPW = $MS_ATTRIBUTE_CHAP2_SUCCESS + 1 Const $MS_ATTRIBUTE_RAS_VENDOR = $MS_ATTRIBUTE_CHAP2_CPW + 1 Const $MS_ATTRIBUTE_RAS_VERSION = $MS_ATTRIBUTE_RAS_VENDOR + 1 Const $IAS_ATTRIBUTE_NP_NAME = $MS_ATTRIBUTE_RAS_VERSION + 1 Const $MS_ATTRIBUTE_PRIMARY_DNS_SERVER = $IAS_ATTRIBUTE_NP_NAME + 1 Const $MS_ATTRIBUTE_SECONDARY_DNS_SERVER = $MS_ATTRIBUTE_PRIMARY_DNS_SERVER + 1 Const $MS_ATTRIBUTE_PRIMARY_NBNS_SERVER = $MS_ATTRIBUTE_SECONDARY_DNS_SERVER + 1 Const $MS_ATTRIBUTE_SECONDARY_NBNS_SERVER = $MS_ATTRIBUTE_PRIMARY_NBNS_SERVER + 1 Const $IAS_ATTRIBUTE_PROXY_POLICY_NAME = $MS_ATTRIBUTE_SECONDARY_NBNS_SERVER + 1 Const $IAS_ATTRIBUTE_PROVIDER_TYPE = $IAS_ATTRIBUTE_PROXY_POLICY_NAME + 1 Const $IAS_ATTRIBUTE_PROVIDER_NAME = $IAS_ATTRIBUTE_PROVIDER_TYPE + 1 Const $IAS_ATTRIBUTE_REMOTE_SERVER_ADDRESS = $IAS_ATTRIBUTE_PROVIDER_NAME + 1 Const $IAS_ATTRIBUTE_GENERATE_CLASS_ATTRIBUTE = $IAS_ATTRIBUTE_REMOTE_SERVER_ADDRESS + 1 Const $MS_ATTRIBUTE_RAS_CLIENT_NAME = $IAS_ATTRIBUTE_GENERATE_CLASS_ATTRIBUTE + 1 Const $MS_ATTRIBUTE_RAS_CLIENT_VERSION = $MS_ATTRIBUTE_RAS_CLIENT_NAME + 1 Const $IAS_ATTRIBUTE_ALLOWED_CERTIFICATE_EKU = $MS_ATTRIBUTE_RAS_CLIENT_VERSION + 1 Const $IAS_ATTRIBUTE_EXTENSION_STATE = $IAS_ATTRIBUTE_ALLOWED_CERTIFICATE_EKU + 1 Const $IAS_ATTRIBUTE_GENERATE_SESSION_TIMEOUT = $IAS_ATTRIBUTE_EXTENSION_STATE + 1 Const $MS_ATTRIBUTE_SESSION_TIMEOUT = $IAS_ATTRIBUTE_GENERATE_SESSION_TIMEOUT + 1 Const $MS_ATTRIBUTE_QUARANTINE_IPFILTER = $MS_ATTRIBUTE_SESSION_TIMEOUT + 1 Const $MS_ATTRIBUTE_QUARANTINE_SESSION_TIMEOUT = $MS_ATTRIBUTE_QUARANTINE_IPFILTER + 1 Const $MS_ATTRIBUTE_USER_SECURITY_IDENTITY = $MS_ATTRIBUTE_QUARANTINE_SESSION_TIMEOUT + 1 Const $IAS_ATTRIBUTE_REMOTE_RADIUS_TO_WINDOWS_USER_MAPPING = $MS_ATTRIBUTE_USER_SECURITY_IDENTITY + 1 Const $IAS_ATTRIBUTE_PASSPORT_USER_MAPPING_UPN_SUFFIX = $IAS_ATTRIBUTE_REMOTE_RADIUS_TO_WINDOWS_USER_MAPPING + 1 Const $IAS_ATTRIBUTE_TUNNEL_TAG = $IAS_ATTRIBUTE_PASSPORT_USER_MAPPING_UPN_SUFFIX + 1 Const $IAS_ATTRIBUTE_NP_PEAPUPFRONT_ENABLED = $IAS_ATTRIBUTE_TUNNEL_TAG + 1 Const $IAS_ATTRIBUTE_CERTIFICATE_EKU = 8097 Const $IAS_ATTRIBUTE_EAP_CONFIG = $IAS_ATTRIBUTE_CERTIFICATE_EKU + 1 Const $MS_ATTRIBUTE_PEAP_EMBEDDED_EAP_TYPEID = $IAS_ATTRIBUTE_EAP_CONFIG + 1 Const $MS_ATTRIBUTE_PEAP_FAST_ROAMED_SESSION = $MS_ATTRIBUTE_PEAP_EMBEDDED_EAP_TYPEID + 1 Const $IAS_ATTRIBUTE_EAP_TYPEID = $MS_ATTRIBUTE_PEAP_FAST_ROAMED_SESSION + 1 Const $IAS_ATTRIBUTE_EAP_TLV = $IAS_ATTRIBUTE_EAP_TYPEID + 1 Const $IAS_ATTRIBUTE_REJECT_REASON_CODE = $IAS_ATTRIBUTE_EAP_TLV + 1 Const $IAS_ATTRIBUTE_PROXY_EAP_CONFIG = $IAS_ATTRIBUTE_REJECT_REASON_CODE + 1 Const $IAS_ATTRIBUTE_EAP_SESSION = $IAS_ATTRIBUTE_PROXY_EAP_CONFIG + 1 Const $IAS_ATTRIBUTE_IS_REPLAY = $IAS_ATTRIBUTE_EAP_SESSION + 1 Const $IAS_ATTRIBUTE_CLEAR_TEXT_PASSWORD = $IAS_ATTRIBUTE_IS_REPLAY + 1 Const $RAS_ATTRIBUTE_ENCRYPTION_TYPE = 0xffffffff - 89 Const $RAS_ATTRIBUTE_ENCRYPTION_POLICY = $RAS_ATTRIBUTE_ENCRYPTION_TYPE + 1 Const $RAS_ATTRIBUTE_BAP_REQUIRED = $RAS_ATTRIBUTE_ENCRYPTION_POLICY + 1 Const $RAS_ATTRIBUTE_BAP_LINE_DOWN_TIME = $RAS_ATTRIBUTE_BAP_REQUIRED + 1 Const $RAS_ATTRIBUTE_BAP_LINE_DOWN_LIMIT = $RAS_ATTRIBUTE_BAP_LINE_DOWN_TIME + 1 ;NEW_LOG_FILE_FREQUENCY Const $IAS_LOGGING_UNLIMITED_SIZE = 0 Const $IAS_LOGGING_DAILY = $IAS_LOGGING_UNLIMITED_SIZE + 1 Const $IAS_LOGGING_WEEKLY = $IAS_LOGGING_DAILY + 1 Const $IAS_LOGGING_MONTHLY = $IAS_LOGGING_WEEKLY + 1 Const $IAS_LOGGING_WHEN_FILE_SIZE_REACHES = $IAS_LOGGING_MONTHLY + 1 ;AUTHENTICATION_TYPE Const $IAS_AUTH_INVALID = 0 Const $IAS_AUTH_PAP = $IAS_AUTH_INVALID + 1 Const $IAS_AUTH_MD5CHAP = $IAS_AUTH_PAP + 1 Const $IAS_AUTH_MSCHAP = $IAS_AUTH_MD5CHAP + 1 Const $IAS_AUTH_MSCHAP2 = $IAS_AUTH_MSCHAP + 1 Const $IAS_AUTH_EAP = $IAS_AUTH_MSCHAP2 + 1 Const $IAS_AUTH_ARAP = $IAS_AUTH_EAP + 1 Const $IAS_AUTH_NONE = $IAS_AUTH_ARAP + 1 Const $IAS_AUTH_CUSTOM = $IAS_AUTH_NONE + 1 Const $IAS_AUTH_MSCHAP_CPW = $IAS_AUTH_CUSTOM + 1 Const $IAS_AUTH_MSCHAP2_CPW = $IAS_AUTH_MSCHAP_CPW + 1 Const $IAS_AUTH_PEAP = $IAS_AUTH_MSCHAP2_CPW + 1 ;ATTRIBUTESYNTAX Const $IAS_SYNTAX_BOOLEAN = 1 Const $IAS_SYNTAX_INTEGER = $IAS_SYNTAX_BOOLEAN + 1 Const $IAS_SYNTAX_ENUMERATOR = $IAS_SYNTAX_INTEGER + 1 Const $IAS_SYNTAX_INETADDR = $IAS_SYNTAX_ENUMERATOR + 1 Const $IAS_SYNTAX_STRING = $IAS_SYNTAX_INETADDR + 1 Const $IAS_SYNTAX_OCTETSTRING = $IAS_SYNTAX_STRING + 1 Const $IAS_SYNTAX_UTCTIME = $IAS_SYNTAX_OCTETSTRING + 1 Const $IAS_SYNTAX_PROVIDERSPECIFIC = $IAS_SYNTAX_UTCTIME + 1 Const $IAS_SYNTAX_UNSIGNEDINTEGER = $IAS_SYNTAX_PROVIDERSPECIFIC + 1 ;IASCOMMONPROPERTIES Const $PROPERTY_SDO_RESERVED = 0 Const $PROPERTY_SDO_CLASS = $PROPERTY_SDO_RESERVED + 1 Const $PROPERTY_SDO_NAME = $PROPERTY_SDO_CLASS + 1 Const $PROPERTY_SDO_DESCRIPTION = $PROPERTY_SDO_NAME + 1 Const $PROPERTY_SDO_ID = $PROPERTY_SDO_DESCRIPTION + 1 Const $PROPERTY_SDO_DATASTORE_NAME = $PROPERTY_SDO_ID + 1 Const $PROPERTY_SDO_START = 0x400 ;USERPROPERTIES Const $PROPERTY_USER_CALLING_STATION_ID = $PROPERTY_SDO_START Const $PROPERTY_USER_SAVED_CALLING_STATION_ID = $PROPERTY_USER_CALLING_STATION_ID + 1 Const $PROPERTY_USER_RADIUS_CALLBACK_NUMBER = $PROPERTY_USER_SAVED_CALLING_STATION_ID + 1 Const $PROPERTY_USER_RADIUS_FRAMED_ROUTE = $PROPERTY_USER_RADIUS_CALLBACK_NUMBER + 1 Const $PROPERTY_USER_RADIUS_FRAMED_IP_ADDRESS = $PROPERTY_USER_RADIUS_FRAMED_ROUTE + 1 Const $PROPERTY_USER_SAVED_RADIUS_CALLBACK_NUMBER = $PROPERTY_USER_RADIUS_FRAMED_IP_ADDRESS + 1 Const $PROPERTY_USER_SAVED_RADIUS_FRAMED_ROUTE = $PROPERTY_USER_SAVED_RADIUS_CALLBACK_NUMBER + 1 Const $PROPERTY_USER_SAVED_RADIUS_FRAMED_IP_ADDRESS = $PROPERTY_USER_SAVED_RADIUS_FRAMED_ROUTE + 1 Const $PROPERTY_USER_ALLOW_DIALIN = $PROPERTY_USER_SAVED_RADIUS_FRAMED_IP_ADDRESS + 1 Const $PROPERTY_USER_SERVICE_TYPE = $PROPERTY_USER_ALLOW_DIALIN + 1 ;DICTIONARYPROPERTIES Const $PROPERTY_DICTIONARY_ATTRIBUTES_COLLECTION = $PROPERTY_SDO_START Const $PROPERTY_DICTIONARY_LOCATION = $PROPERTY_DICTIONARY_ATTRIBUTES_COLLECTION + 1 ;ATTRIBUTEPROPERTIES Const $PROPERTY_ATTRIBUTE_ID = $PROPERTY_SDO_START Const $PROPERTY_ATTRIBUTE_VENDOR_ID = $PROPERTY_ATTRIBUTE_ID + 1 Const $PROPERTY_ATTRIBUTE_VENDOR_TYPE_ID = $PROPERTY_ATTRIBUTE_VENDOR_ID + 1 Const $PROPERTY_ATTRIBUTE_IS_ENUMERABLE = $PROPERTY_ATTRIBUTE_VENDOR_TYPE_ID + 1 Const $PROPERTY_ATTRIBUTE_ENUM_NAMES = $PROPERTY_ATTRIBUTE_IS_ENUMERABLE + 1 Const $PROPERTY_ATTRIBUTE_ENUM_VALUES = $PROPERTY_ATTRIBUTE_ENUM_NAMES + 1 Const $PROPERTY_ATTRIBUTE_SYNTAX = $PROPERTY_ATTRIBUTE_ENUM_VALUES + 1 Const $PROPERTY_ATTRIBUTE_ALLOW_MULTIPLE = $PROPERTY_ATTRIBUTE_SYNTAX + 1 Const $PROPERTY_ATTRIBUTE_ALLOW_LOG_ORDINAL = $PROPERTY_ATTRIBUTE_ALLOW_MULTIPLE + 1 Const $PROPERTY_ATTRIBUTE_ALLOW_IN_PROFILE = $PROPERTY_ATTRIBUTE_ALLOW_LOG_ORDINAL + 1 Const $PROPERTY_ATTRIBUTE_ALLOW_IN_CONDITION = $PROPERTY_ATTRIBUTE_ALLOW_IN_PROFILE + 1 Const $PROPERTY_ATTRIBUTE_DISPLAY_NAME = $PROPERTY_ATTRIBUTE_ALLOW_IN_CONDITION + 1 Const $PROPERTY_ATTRIBUTE_VALUE = $PROPERTY_ATTRIBUTE_DISPLAY_NAME + 1 Const $PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_PROFILE = $PROPERTY_ATTRIBUTE_VALUE + 1 Const $PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_CONDITION = $PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_PROFILE + 1 ;IASPROPERTIES Const $PROPERTY_IAS_RADIUSSERVERGROUPS_COLLECTION = $PROPERTY_SDO_START Const $PROPERTY_IAS_POLICIES_COLLECTION = $PROPERTY_IAS_RADIUSSERVERGROUPS_COLLECTION + 1 Const $PROPERTY_IAS_PROFILES_COLLECTION = $PROPERTY_IAS_POLICIES_COLLECTION + 1 Const $PROPERTY_IAS_PROTOCOLS_COLLECTION = $PROPERTY_IAS_PROFILES_COLLECTION + 1 Const $PROPERTY_IAS_AUDITORS_COLLECTION = $PROPERTY_IAS_PROTOCOLS_COLLECTION + 1 Const $PROPERTY_IAS_REQUESTHANDLERS_COLLECTION = $PROPERTY_IAS_AUDITORS_COLLECTION + 1 Const $PROPERTY_IAS_PROXYPOLICIES_COLLECTION = $PROPERTY_IAS_REQUESTHANDLERS_COLLECTION + 1 Const $PROPERTY_IAS_PROXYPROFILES_COLLECTION = $PROPERTY_IAS_PROXYPOLICIES_COLLECTION + 1 ;CLIENTPROPERTIES Const $PROPERTY_CLIENT_REQUIRE_SIGNATURE = $PROPERTY_SDO_START Const $PROPERTY_CLIENT_UNUSED = $PROPERTY_CLIENT_REQUIRE_SIGNATURE + 1 Const $PROPERTY_CLIENT_SHARED_SECRET = $PROPERTY_CLIENT_UNUSED + 1 Const $PROPERTY_CLIENT_NAS_MANUFACTURER = $PROPERTY_CLIENT_SHARED_SECRET + 1 Const $PROPERTY_CLIENT_ADDRESS = $PROPERTY_CLIENT_NAS_MANUFACTURER + 1 ;VENDORPROPERTIES Const $PROPERTY_NAS_VENDOR_ID = $PROPERTY_SDO_START ;PROFILEPROPERTIES Const $PROPERTY_PROFILE_ATTRIBUTES_COLLECTION = $PROPERTY_SDO_START ;POLICYPROPERTIES Const $PROPERTY_POLICY_CONSTRAINT = $PROPERTY_SDO_START Const $PROPERTY_POLICY_MERIT = $PROPERTY_POLICY_CONSTRAINT + 1 Const $PROPERTY_POLICY_UNUSED0 = $PROPERTY_POLICY_MERIT + 1 Const $PROPERTY_POLICY_UNUSED1 = $PROPERTY_POLICY_UNUSED0 + 1 Const $PROPERTY_POLICY_PROFILE_NAME = $PROPERTY_POLICY_UNUSED1 + 1 Const $PROPERTY_POLICY_ACTION = $PROPERTY_POLICY_PROFILE_NAME + 1 Const $PROPERTY_POLICY_CONDITIONS_COLLECTION = $PROPERTY_POLICY_ACTION + 1 ;CONDITIONPROPERTIES Const $PROPERTY_CONDITION_TEXT = $PROPERTY_SDO_START ;RADIUSSERVERGROUPPROPERTIES Const $PROPERTY_RADIUSSERVERGROUP_SERVERS_COLLECTION = $PROPERTY_SDO_START ;RADIUSSERVERPROPERTIES Const $PROPERTY_RADIUSSERVER_AUTH_PORT = $PROPERTY_SDO_START Const $PROPERTY_RADIUSSERVER_AUTH_SECRET = $PROPERTY_RADIUSSERVER_AUTH_PORT + 1 Const $PROPERTY_RADIUSSERVER_ACCT_PORT = $PROPERTY_RADIUSSERVER_AUTH_SECRET + 1 Const $PROPERTY_RADIUSSERVER_ACCT_SECRET = $PROPERTY_RADIUSSERVER_ACCT_PORT + 1 Const $PROPERTY_RADIUSSERVER_ADDRESS = $PROPERTY_RADIUSSERVER_ACCT_SECRET + 1 Const $PROPERTY_RADIUSSERVER_FORWARD_ACCT_ONOFF = $PROPERTY_RADIUSSERVER_ADDRESS + 1 Const $PROPERTY_RADIUSSERVER_PRIORITY = $PROPERTY_RADIUSSERVER_FORWARD_ACCT_ONOFF + 1 Const $PROPERTY_RADIUSSERVER_WEIGHT = $PROPERTY_RADIUSSERVER_PRIORITY + 1 Const $PROPERTY_RADIUSSERVER_TIMEOUT = $PROPERTY_RADIUSSERVER_WEIGHT + 1 Const $PROPERTY_RADIUSSERVER_MAX_LOST = $PROPERTY_RADIUSSERVER_TIMEOUT + 1 Const $PROPERTY_RADIUSSERVER_BLACKOUT = $PROPERTY_RADIUSSERVER_MAX_LOST + 1 ;IASCOMPONENTPROPERTIES Const $PROPERTY_COMPONENT_ID = $PROPERTY_SDO_START Const $PROPERTY_COMPONENT_PROG_ID = $PROPERTY_COMPONENT_ID + 1 Const $PROPERTY_COMPONENT_START = $PROPERTY_COMPONENT_PROG_ID + 1 ;PROTOCOLPROPERTIES Const $PROPERTY_PROTOCOL_REQUEST_HANDLER = $PROPERTY_COMPONENT_START Const $PROPERTY_PROTOCOL_START = $PROPERTY_PROTOCOL_REQUEST_HANDLER + 1 ;RADIUSPROPERTIES Const $PROPERTY_RADIUS_ACCOUNTING_PORT = $PROPERTY_PROTOCOL_START Const $PROPERTY_RADIUS_AUTHENTICATION_PORT = $PROPERTY_RADIUS_ACCOUNTING_PORT + 1 Const $PROPERTY_RADIUS_CLIENTS_COLLECTION = $PROPERTY_RADIUS_AUTHENTICATION_PORT + 1 Const $PROPERTY_RADIUS_VENDORS_COLLECTION = $PROPERTY_RADIUS_CLIENTS_COLLECTION + 1 ;NTEVENTLOGPROPERTIES Const $PROPERTY_EVENTLOG_LOG_APPLICATION_EVENTS = $PROPERTY_COMPONENT_START Const $PROPERTY_EVENTLOG_LOG_MALFORMED = $PROPERTY_EVENTLOG_LOG_APPLICATION_EVENTS + 1 Const $PROPERTY_EVENTLOG_LOG_DEBUG = $PROPERTY_EVENTLOG_LOG_MALFORMED + 1 ;NAMESPROPERTIES Const $PROPERTY_NAMES_REALMS = $PROPERTY_COMPONENT_START ;NTSAMPROPERTIES Const $PROPERTY_NTSAM_ALLOW_LM_AUTHENTICATION = $PROPERTY_COMPONENT_START ;ACCOUNTINGPROPERTIES Const $PROPERTY_ACCOUNTING_LOG_ACCOUNTING = $PROPERTY_COMPONENT_START Const $PROPERTY_ACCOUNTING_LOG_ACCOUNTING_INTERIM = $PROPERTY_ACCOUNTING_LOG_ACCOUNTING + 1 Const $PROPERTY_ACCOUNTING_LOG_AUTHENTICATION = $PROPERTY_ACCOUNTING_LOG_ACCOUNTING_INTERIM + 1 Const $PROPERTY_ACCOUNTING_LOG_OPEN_NEW_FREQUENCY = $PROPERTY_ACCOUNTING_LOG_AUTHENTICATION + 1 Const $PROPERTY_ACCOUNTING_LOG_OPEN_NEW_SIZE = $PROPERTY_ACCOUNTING_LOG_OPEN_NEW_FREQUENCY + 1 Const $PROPERTY_ACCOUNTING_LOG_FILE_DIRECTORY = $PROPERTY_ACCOUNTING_LOG_OPEN_NEW_SIZE + 1 Const $PROPERTY_ACCOUNTING_LOG_IAS1_FORMAT = $PROPERTY_ACCOUNTING_LOG_FILE_DIRECTORY + 1 Const $PROPERTY_ACCOUNTING_LOG_ENABLE_LOGGING = $PROPERTY_ACCOUNTING_LOG_IAS1_FORMAT + 1 Const $PROPERTY_ACCOUNTING_LOG_DELETE_IF_FULL = $PROPERTY_ACCOUNTING_LOG_ENABLE_LOGGING + 1 Const $PROPERTY_ACCOUNTING_SQL_MAX_SESSIONS = $PROPERTY_ACCOUNTING_LOG_DELETE_IF_FULL + 1 Const $PROPERTY_ACCOUNTING_LOG_AUTHENTICATION_INTERIM = $PROPERTY_ACCOUNTING_SQL_MAX_SESSIONS + 1 ;EAPWRAPPROPERTIES Const $PROPERTY_EAP_SESSION_TIMEOUT = $PROPERTY_COMPONENT_START Const $PROPERTY_EAP_MAX_SESSIONS = $PROPERTY_EAP_SESSION_TIMEOUT + 1 ;NAPPROPERTIES Const $PROPERTY_NAP_POLICIES_COLLECTION = $PROPERTY_COMPONENT_START ;RADIUSPROXYPROPERTIES Const $PROPERTY_RADIUSPROXY_SERVERGROUPS = $PROPERTY_COMPONENT_START ;SERVICE_TYPE Const $SERVICE_TYPE_IAS = 0 Const $SERVICE_TYPE_RAS = $SERVICE_TYPE_IAS + 1 Const $SERVICE_TYPE_MAX = $SERVICE_TYPE_RAS + 1 ;IASOSTYPE Const $SYSTEM_TYPE_NT4_WORKSTATION = 0 Const $SYSTEM_TYPE_NT5_WORKSTATION = $SYSTEM_TYPE_NT4_WORKSTATION + 1 Const $SYSTEM_TYPE_NT4_SERVER = $SYSTEM_TYPE_NT5_WORKSTATION + 1 Const $SYSTEM_TYPE_NT5_SERVER = $SYSTEM_TYPE_NT4_SERVER + 1 ;DOMAINTYPE Const $DOMAIN_TYPE_NONE = 0 Const $DOMAIN_TYPE_NT4 = $DOMAIN_TYPE_NONE + 1 Const $DOMAIN_TYPE_NT5 = $DOMAIN_TYPE_NT4 + 1 Const $DOMAIN_TYPE_MIXED = $DOMAIN_TYPE_NT5 + 1 ;IASDATASTORE Const $DATA_STORE_LOCAL = 0 Const $DATA_STORE_DIRECTORY = $DATA_STORE_LOCAL + 1 #endregion Define IAS Constants Dim $sdoMachine, $sdoServiceSDO Dim $sdoCollProfiles, $sdoCollProtocols, $sdoCollClients, $sdoCollPolicies Dim $sdoCollAttributes, $sdoCollConditions Dim $sdoRADIUS Dim $vtProfile, $vtProtocol, $vtClient, $vtPolicy, $vtAttribute, $vtCondition Dim $sServerName $sServerName="server1" $sdoMachine = ObjCreate("IAS.SdoMachine") If @error Then MsgBox(0, "Error", "Error create IAS.SdoMachine object") Exit(1) EndIf $sdoMachine.Attach($sServerName) $sdoServiceSDO = $sdoMachine.GetServiceSDO($DATA_STORE_LOCAL, "IAS") If @error Then MsgBox(0, "Error", "Error get service SDO") Exit(1) EndIf ; ; List Clients ; $sdoCollProtocols = $sdoServiceSDO.GetProperty($PROPERTY_IAS_PROTOCOLS_COLLECTION) $sdoRADIUS = $sdoCollProtocols.Item("Microsoft Radius Protocol") $sdoCollClients = $sdoRADIUS.GetProperty($PROPERTY_RADIUS_CLIENTS_COLLECTION) MsgBox(0, "Info", "On Server: " & $sServerName & " found " & $sdoCollClients.Count & " client(s).") For $vtClient in $sdoCollClients MsgBox(0, "Detail", "Client Friendly Name: " & $vtClient.GetProperty($PROPERTY_SDO_NAME) & @CRLF & "Shared Secret: " & $vtClient.GetProperty($PROPERTY_CLIENT_SHARED_SECRET) & @CRLF & "IP Address: " & $vtClient.GetProperty($PROPERTY_CLIENT_ADDRESS)) Next ;$vtClient When I try run this script, autoit will failed with exit code: -1073741819 After tracing line per line, I found it is caused by this line: $sdoCollProtocols = $sdoServiceSDO.GetProperty($PROPERTY_IAS_PROTOCOLS_COLLECTION) Seems the GetProperty method could not work in Autoit while it's fine in vbscript. Anybody could help me here? Thx a lot
water Posted May 21, 2010 Posted May 21, 2010 Quote When I try run this script, autoit will failed with exit code: -1073741819That's 0xC0000005 which means "Access violation". MS returns some results. Can you verify that the line $sdoMachine.Attach($sServerName)does not return any errors? My UDFs and Tutorials: Reveal hidden contents UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
LiHang Posted May 21, 2010 Author Posted May 21, 2010 I just try to catch the @error after the Attach command. It's 0 which should means correctly executed. Is there any other approach to check if the command correctly execute? BTW: These codes only worked on a server that has IAS component installed, or else it will failed on the below line: $sdoServiceSDO = $sdoMachine.GetServiceSDO($DATA_STORE_LOCAL, "IAS")
water Posted May 21, 2010 Posted May 21, 2010 You could set up an COM error handler to gather as much informtion as posible: ; Set up COM error handler Global $oMyError = ObjEvent("AutoIt.Error", "_My_ErrorHandler") ... Your script ... Func _My_ErrorHandler() Local $bHexNumber = Hex($oMyError.number, 8) ConsoleWrite("COM Error Encountered in " & @ScriptName & @CRLF & _ "Scriptline = " & $oMyError.scriptline & @CRLF & _ "NumberHex = " & $bHexNumber & @CRLF & _ "Number = " & $oMyError.number & @CRLF & _ "WinDescription = " & StringStripWS($oMyError.WinDescription, 2) & @CRLF & _ "Description = " & StringStripWS($oMyError.description, 2) & @CRLF & _ "Source = " & $oMyError.Source & @CRLF & _ "HelpFile = " & $oMyError.HelpFile & @CRLF & _ "HelpContext = " & $oMyError.HelpContext & @CRLF & _ "LastDllError = " & $oMyError.LastDllError & @CRLF & _ "========================================================" & @CRLF) EndFunc My UDFs and Tutorials: Reveal hidden contents UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
LiHang Posted May 21, 2010 Author Posted May 21, 2010 Actually I use that error handler in original script. But it does not catch any errors for this script.
water Posted May 21, 2010 Posted May 21, 2010 On 5/21/2010 at 6:49 AM, 'LiHang said: Actually I use that error handler in original script. But it does not catch any errors for this script. In this case I've run out of ideas My UDFs and Tutorials: Reveal hidden contents UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
LiHang Posted May 24, 2010 Author Posted May 24, 2010 Then...I'll keep debug it myself. Thank u very much
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now