Kaspersky Security Center Automation
10.0
|
JScript sample code.
function AcquireAdServerProxy() { var oSrvConnectionProps = new ActiveXObject("klakaut.KlAkParams"); oSrvConnectionProps.Add("Address", "localhost:13000"); oSrvConnectionProps.Add("UseSSL", true); var oAdmServer = new ActiveXObject("klakaut.KlAkProxy"); oAdmServer.Connect(oSrvConnectionProps); g_oLog.WriteLine("Server version is " + oAdmServer.VersionId); return oAdmServer; }; function SetUpdateAgents(oAdmServer) { //for example, register all hosts in selected group (not in subgroups) as Update Agents var oHosts = new ActiveXObject("klakaut.KlAkHosts"); oHosts.AdmServer = oAdmServer; var oUpdAgents = new ActiveXObject("klakaut.KlAkUpdateAgents"); oUpdAgents.AdmServer = oAdmServer; var oGroups = new ActiveXObject("klakaut.KlAkGroups"); oGroups.AdmServer = oAdmServer; //select root group var lGroup2Process = oGroups.GroupIdGroups; var oFileds2Return = new ActiveXObject("klakaut.KlAkCollection"); oFileds2Return.SetSize(2); oFileds2Return.SetAt(0, "KLHST_WKS_HOSTNAME"); oFileds2Return.SetAt(1, "KLHST_WKS_DN"); var oFileds2Order = new ActiveXObject("klakaut.KlAkCollection"); var oChunkAccessor = oHosts.FindHosts( "(&(KLHST_INSTANCEID <> \"\")(KLHST_WKS_GROUPID = " + lGroup2Process + "))", //all hosts with nagent that have lGroup2Process as parent group oFileds2Return, oFileds2Order); var lRecords = oChunkAccessor.Count; g_oLog.WriteLine("Found hosts, " + lRecords); var enumObj = new Enumerator(oChunkAccessor); for (;!enumObj.atEnd();enumObj.moveNext()) { var oObj = enumObj.item(); var strName = oObj.Item("KLHST_WKS_HOSTNAME"); var strDN = oObj.Item("KLHST_WKS_DN"); g_oLog.WriteLine("Found host: " + strDN); //register found host as update agent var oUpdAgentProps = new ActiveXObject("klakaut.KlAkParams"); oUpdAgentProps.Item("hosname") = strName; oUpdAgentProps.Item("dn") = "UpdateAgent" + strDN; oUpdAgentProps.Item("groupid") = lGroup2Process; ; oUpdAgents.RegisterUpdateAgent(oUpdAgentProps, true); }; }; var g_oFileSystemObject; var g_oLog; // prepare logging g_oFileSystemObject = new ActiveXObject("Scripting.FileSystemObject"); g_oLog = g_oFileSystemObject.CreateTextFile("log.txt", true); SetUpdateAgents(AcquireAdServerProxy()); g_oLog.Close();