home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2006 May / PCpro_2006_05.ISO / files / free_security / msshared / Shared_Computer_Toolkit_ENU.msi / FileScripts002 < prev    next >
Encoding:
Extensible Markup Language  |  2005-09-02  |  9.3 KB  |  118 lines

  1.  ■<?xml version="1.0" ?>
  2. <package>
  3.     <comment>
  4. ' ***
  5. ' *** ------------------------------------------------------------------------------
  6. ' *** Filename:        AutoLogon.wsf
  7. ' *** ------------------------------------------------------------------------------
  8. ' *** Description:    Command-line tool to Autologon Windows XP with a specific account 
  9. ' *** ------------------------------------------------------------------------------
  10. ' *** Version:        1.0
  11. ' *** Notes:        
  12. ' *** ------------------------------------------------------------------------------
  13. ' *** Copyright (C) Microsoft Corporation 2005, All Rights Reserved
  14. ' *** ------------------------------------------------------------------------------
  15. ' ***
  16.     </comment>
  17.     <job>
  18. <runtime>
  19.             <description>AutoLogon Tool</description>
  20.             <named name="enable" required="false" many="false" helpstring="Enable account to log on to Windows automatically" />
  21.             <named name="disable" required="false" many="false" helpstring="Disable automatic logon to Windows" />
  22.             <usage>
  23. AutoLogon Tool Usage Instructions
  24. ---------------------------------
  25. Options:
  26.     Enable  - Enable account to log on to Windows automatically.
  27.     Disable - Disable automatic logon to Windows.
  28. Example: AutoLogon.wsf /Enable username password
  29. Example: AutoLogon.wsf /Disable
  30. </usage>
  31.         </runtime>
  32.         <resource id="CScriptMessage">Restarting script in command-line mode. Run CmdOn.BAT to set command-line mode as the default mode.</resource>
  33.         <resource id="CScriptTitle">Shared Computer Toolkit: Windows Script Mode Detected</resource>
  34. <?job error="True" debug="False" ?>
  35. <script language="VBScript" src="../include/Common.vbs"></script>
  36. <script language="VBScript" src="../include/libWSF.vbs"></script>
  37. <script language="VBScript">
  38. <![CDATA[
  39. ' ~~~ 
  40. ' ~~~ Force variables to be declared 
  41. ' ~~~ 
  42. Option Explicit
  43. On Error Resume Next
  44. ' ~~~ Call the Main function
  45. Call Main("")
  46. ' ~~~ 
  47. ' ~~~ Declare global variables
  48. ' ~~~ 
  49. Dim sUser, sPassword 
  50. If WScript.Arguments.Named.Exists("enable") Then
  51.     sUser = Wscript.Arguments(1)
  52.     If sUser = "" Then
  53.         Wscript.Echo "Error: AutoLogon.wsf /Enable - requires an account"
  54.         Wscript.Arguments.ShowUsage
  55.     ElseIf IsValidUser(sUser) Then
  56.             sPassword = ""
  57.             sPassword = Wscript.Arguments(2)
  58.             RegWrite "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon", 1, "REG_SZ"
  59.             RegWrite "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName", sUser, "REG_SZ"
  60.             RegWrite "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword", sPassword, "REG_SZ"
  61.             RegWrite "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultDomainName", oNetwork.ComputerName, "REG_SZ"
  62.             RegWrite "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\ForceAutoLogon", 1, "REG_DWORD"
  63.             Wscript.Echo "Enabled the " & sUser & " account with password " & Chr(34) & sPassword & Chr(34) & " to Auto-Logon to Windows."
  64.             Wscript.Echo "To logon as a different user, press and hold the Shift key during logoff or while restarting the computer."
  65.     Else
  66.             Wscript.Echo "Error: AutoLogon.wsf /Enable - Please enter a valid user account"
  67.             Wscript.Arguments.ShowUsage
  68.     
  69.     End If
  70. ElseIf WScript.Arguments.Named.Exists("disable") Then
  71.     RegWrite "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon", 0, "REG_SZ"
  72.     RegWrite "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName", "", "REG_SZ"
  73.     RegWrite "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword", "", "REG_SZ"
  74.     RegWrite "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultDomainName", "", "REG_SZ"
  75.     RegWrite "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\ForceAutoLogon", 0, "REG_DWORD"
  76.     Wscript.Echo "Disabled Auto-Logon to Windows."
  77. Else
  78.     Wscript.Arguments.ShowUsage
  79. End If
  80. ' ***
  81. ' *** --------------------------------------------------------------------------------
  82. ' *** Name:        IsValidUser(sUser)
  83. ' *** --------------------------------------------------------------------------------
  84. ' *** Purpose:        Checks whether the user is valid 
  85. ' *** --------------------------------------------------------------------------------
  86. ' *** 
  87. Function IsValidUser(sUser)
  88.         Dim oAccount
  89.         
  90.         IsValidUser = True
  91.         
  92.         ' ~~~ Turn on error handling
  93.         On Error Resume Next
  94.         ' ~~~ Create wmi object & get sid
  95.         Set oAccount = oWMIService.Get("Win32_UserAccount.Name='" & sUser & "',Domain='" & oNetwork.ComputerName & "'")
  96.         If oAccount.SID = "" Then IsValidUser = False     
  97.         
  98.         Set oAccount = Nothing    
  99. End Function
  100. ' ~~~ Destroy objects
  101. UnLoadObjects()
  102. ]]>
  103.         </script>
  104. </job>
  105. </package>