Login to any citrix server and save the below script. I saved as Serverlogons.wsf.
Copy the server names in txt file and save. I saved as Servers.txt
I saved both the files on desktop.
In the citrix server go the script path and run in the cmd as follows:
cscript Serverlogons.wsf e Servers.txt -> for enable logons.
cscript Serverlogons.wsf d Servers.txt -> for disable logons.
_________________________________________________________________________________
<package>
<job id="Servers">
<comment>
File: ServerLogin.wsf
Description: Enable disable Server Logins
Requirements: WSH 5.5 or higher.
</comment>
<runtime>
<description>
Description: Enable disable Server Logins
</description>
<example>
CScript //nologo ServerLogons.wsf
</example>
</runtime>
<reference object="MetaFrameCOM.MetaFrameFarm"/>
<script language="VBScript">
Dim theFarm, aServer, choice , Found, CFound , ServerName
''If no command line argument
if WScript.Arguments.Count <> 2 Then
WScript.Echo "USAGE To Enable Logins : ServerLogons.wsf e Filename"
WScript.Echo "USAGE To disable Logins : ServerLogons.wsf d filename"
WScript.Echo ""
WScript.Echo "Example to enable logins: ServerLogons.wsf e filename"
WScript.Quit 0
Else
choice = WScript.Arguments(0) ' store the flag to enable or diable
sFileName = WScript.Arguments(1) ' store the server name ..
Found = false ' store bool server found or not
CFound = false ' store bool choice found or not
WScript.Echo ""
End If
Set oFso = CreateObject("Scripting.FileSystemObject")
if Err.Number <> 0 Then
WScript.Echo "Can't create FileSystemObject "
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
WScript.Quit Err.Number
End if
''****** Get the Script Path Name ******************************
sScriptFullName = WScript.ScriptFullName
sScriptPath = Left(sScriptFullName, InStrRev(sScriptFullName, "\"))
' Create MetaFrameFarm object
'
Set theFarm = CreateObject("MetaFrameCOM.MetaFrameFarm")
if Err.Number <> 0 Then
WScript.Echo "Can't create MetaFrameFarm object"
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
WScript.Quit Err.Number
End if
'
' Initialize the farm object.
'
theFarm.Initialize(MetaFrameWinFarmObject)
if Err.Number <> 0 Then
WScript.Echo "Can't Initialize MetaFrameFarm object"
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
WScript.Quit Err.Number
End if
'
' Are you Citrix Administrator?
'
if theFarm.WinFarmObject.IsCitrixAdministrator = 0 then
WScript.Echo "You must be a Citrix admin to run this script"
WScript.Echo ""
WScript.Quit 0
End If
'
' Print out the farm name.
'
WScript.Echo "MetaFrame Farm Name: " & theFarm.FarmName
WScript.Echo ""
Const ForReading = 1
Set oStream = oFSO.OpenTextFile(sScriptPath & sFilename, ForReading)
Wscript.Echo " Trying to read .. " & sScriptPath & sFilename
If Err.Number <> 0 Then
LogFile.Writeline "Can't open ini file for reading "
LogFile.Writeline "(" & Err.Number & ") " & Err.Description
LogFile.Writeline ""
End if
'*****************************
Do Until oStream.AtEndOfStream
sLine = oStream.ReadLine
Wscript.Echo "processing : " & sLine
ServerName=sLine
For Each aServer In theFarm.Servers
if Err.Number <> 0 Then
WScript.Echo "Can't enumerate servers"
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
WScript.Quit Err.Number
End if
if ucase(aServer.ServerName)=ucase(ServerName) then
Found = true
if (choice="e") or (choice="E") then
CFound = true
aServer.WinServerObject3.EnableLogon=1
if Err.Number <> 0 Then
WScript.Echo "Did not enable logins on " & aServer.ServerName
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
End if
WScript.Echo "Enabled logon "
End if
if (choice="d") or (choice="D") then
CFound = true
aServer.WinServerObject3.EnableLogon=0
if Err.Number <> 0 Then
WScript.Echo "Did not disable logins on " & aServer.ServerName
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
End if
WScript.Echo "Disabled logon "
End if
end if
Next
If Found = false then
WScript.Echo "Server Name not found ..."
End if
If CFound = false then
WScript.Echo "Invalid Argument .... Please use ( e or d ) to enable or disable logons "
End if
Loop
WScript.Echo "Press ENTER to exit..."
WScript.StdIn.Read(1)
</script>
</job>
</package>
Copy the server names in txt file and save. I saved as Servers.txt
I saved both the files on desktop.
In the citrix server go the script path and run in the cmd as follows:
cscript Serverlogons.wsf e Servers.txt -> for enable logons.
cscript Serverlogons.wsf d Servers.txt -> for disable logons.
_________________________________________________________________________________
<package>
<job id="Servers">
<comment>
File: ServerLogin.wsf
Description: Enable disable Server Logins
Requirements: WSH 5.5 or higher.
</comment>
<runtime>
<description>
Description: Enable disable Server Logins
</description>
<example>
CScript //nologo ServerLogons.wsf
</example>
</runtime>
<reference object="MetaFrameCOM.MetaFrameFarm"/>
<script language="VBScript">
Dim theFarm, aServer, choice , Found, CFound , ServerName
''If no command line argument
if WScript.Arguments.Count <> 2 Then
WScript.Echo "USAGE To Enable Logins : ServerLogons.wsf e Filename"
WScript.Echo "USAGE To disable Logins : ServerLogons.wsf d filename"
WScript.Echo ""
WScript.Echo "Example to enable logins: ServerLogons.wsf e filename"
WScript.Quit 0
Else
choice = WScript.Arguments(0) ' store the flag to enable or diable
sFileName = WScript.Arguments(1) ' store the server name ..
Found = false ' store bool server found or not
CFound = false ' store bool choice found or not
WScript.Echo ""
End If
Set oFso = CreateObject("Scripting.FileSystemObject")
if Err.Number <> 0 Then
WScript.Echo "Can't create FileSystemObject "
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
WScript.Quit Err.Number
End if
''****** Get the Script Path Name ******************************
sScriptFullName = WScript.ScriptFullName
sScriptPath = Left(sScriptFullName, InStrRev(sScriptFullName, "\"))
' Create MetaFrameFarm object
'
Set theFarm = CreateObject("MetaFrameCOM.MetaFrameFarm")
if Err.Number <> 0 Then
WScript.Echo "Can't create MetaFrameFarm object"
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
WScript.Quit Err.Number
End if
'
' Initialize the farm object.
'
theFarm.Initialize(MetaFrameWinFarmObject)
if Err.Number <> 0 Then
WScript.Echo "Can't Initialize MetaFrameFarm object"
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
WScript.Quit Err.Number
End if
'
' Are you Citrix Administrator?
'
if theFarm.WinFarmObject.IsCitrixAdministrator = 0 then
WScript.Echo "You must be a Citrix admin to run this script"
WScript.Echo ""
WScript.Quit 0
End If
'
' Print out the farm name.
'
WScript.Echo "MetaFrame Farm Name: " & theFarm.FarmName
WScript.Echo ""
Const ForReading = 1
Set oStream = oFSO.OpenTextFile(sScriptPath & sFilename, ForReading)
Wscript.Echo " Trying to read .. " & sScriptPath & sFilename
If Err.Number <> 0 Then
LogFile.Writeline "Can't open ini file for reading "
LogFile.Writeline "(" & Err.Number & ") " & Err.Description
LogFile.Writeline ""
End if
'*****************************
Do Until oStream.AtEndOfStream
sLine = oStream.ReadLine
Wscript.Echo "processing : " & sLine
ServerName=sLine
For Each aServer In theFarm.Servers
if Err.Number <> 0 Then
WScript.Echo "Can't enumerate servers"
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
WScript.Quit Err.Number
End if
if ucase(aServer.ServerName)=ucase(ServerName) then
Found = true
if (choice="e") or (choice="E") then
CFound = true
aServer.WinServerObject3.EnableLogon=1
if Err.Number <> 0 Then
WScript.Echo "Did not enable logins on " & aServer.ServerName
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
End if
WScript.Echo "Enabled logon "
End if
if (choice="d") or (choice="D") then
CFound = true
aServer.WinServerObject3.EnableLogon=0
if Err.Number <> 0 Then
WScript.Echo "Did not disable logins on " & aServer.ServerName
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
End if
WScript.Echo "Disabled logon "
End if
end if
Next
If Found = false then
WScript.Echo "Server Name not found ..."
End if
If CFound = false then
WScript.Echo "Invalid Argument .... Please use ( e or d ) to enable or disable logons "
End if
Loop
WScript.Echo "Press ENTER to exit..."
WScript.StdIn.Read(1)
</script>
</job>
</package>
No comments:
Post a Comment