lunes, 6 de junio de 2016

VBS - Get Citrix Reboot Policy Details from all servers in a farm and save to txt

***copy below

on error resume next
 Dim DecDDNumber,DecMMNumber,DecYYYYNumber

Set objShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("outputCTXRebootSchedule.txt", True)
Set objServerlist = objFSO.OpenTextFile("listofcitrixservers.txt", 1)


Const HKEY_LOCAL_COMPUTER = &H80000002

Do Until objServerList.AtEndOfStream
strComputer = objServerList.ReadLine

strKeySchedule = "SOFTWARE\Wow6432Node\Policies\Citrix\IMA\Restart Options\Schedule"
strScheduleDate = "RestartSchedule_Date"
strScheduleFrequency = "RestartSchedule_Frequency"
strMinutes = "RestartSchedule_Minutes"
strRebootsEnabled = "RestartScheduleEnabled"

Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
    strComputer & "\root\default:StdRegProv")

objReg.GetDWordValue HKEY_LOCAL_COMPUTER, strKeySchedule, strScheduleDate, VDE
objReg.GetDWordValue HKEY_LOCAL_COMPUTER, strKeySchedule, strScheduleFrequency, strFreq
objReg.GetDWordValue HKEY_LOCAL_COMPUTER, strKeySchedule, strMinutes, strMins
objReg.GetDWordValue HKEY_LOCAL_COMPUTER, strKeySchedule, strRebootsEnabled, strEnabled

TTRHour = strMins \ 60 & ":" & strMins Mod 60

 DecDDNumber = VDE and 255
 DecMMNumber = (VDE and 65280) /256
 DecYYYYNumber = (VDE / 65535) and 65535

dtmRebootDate =  DecMMNumber & "/" & DecDDNumber & "/" & DecYYYYNumber

dtmDayOfWeek = DatePart("w", dtmRebootDate)

Select Case dtmDayOfWeek
    Case 1 strDayofReboot = "Sunday"
    Case 2 strDayofReboot = "Monday"
    Case 3 strDayofReboot = "Tuesday"
    Case 4 strDayofReboot = "Wednesday"
    Case 5 strDayofReboot = "Thursday"
    Case 6 strDayofReboot = "Friday"
    Case 7 strDayofReboot = "Saturday"
End Select

objFile.WriteLine strComputer &","& strDayofReboot &","& dtmRebootDate &","& strFreq &","& TTRHour &","& strEnabled

Loop

wscript.echo "End"

***copy above