Answered Add restart command on vbscrpit

  • Tuesday, February 12, 2013 1:47 AM
     
      Has Code

    Hi All,

    This was the original script from Richard Mueller. A Big thanks to him :)

    Just wondering if someone can help on how to add the restart command on this script after it has successfully joined the domain.

    =======================================================================

    Here is a script I have used, modified to prompt for domain, username, and password:

     

    ' JoinDomain.vbs
    ' VBScript program to join a computer to a domain.
    ' The computer account is created in Active Directory.
    ' The computer must have XP or above.
    ' The AD must be W2k3 or above.
    ' See c:\Windows\debug\NetSetup.log for details.

    Option Explicit

    Dim strDomain, strUser, strPassword, strOU
    Dim objNetwork, strComputer, objComputer, lngReturnValue

    Const JOIN_DOMAIN = 1
    Const ACCT_CREATE = 2
    Const ACCT_DELETE = 4
    Const WIN9X_UPGRADE = 16
    Const DOMAIN_JOIN_IF_JOINED = 32
    Const JOIN_UNSECURE = 64
    Const MACHINE_PASSWORD_PASSED = 128
    Const DEFERRED_SPN_SET = 256
    Const INSTALL_INVOCATION = 262144

    ' Prompt for credentials.
    strDomain = InputBox("Enter name of domain")
    strUser = InputBox("Enter account name to use")
    strPassword = InputBox("Enter the account password")

    ' Specify the OU where the computer object will be created.
    strOU = "ou=Computers,ou=West,dc=mydomain,dc=com"

    ' Retrieve NetBIOS name of local computer.
    Set objNetwork = CreateObject("WScript.Network")
    strComputer = objNetwork.ComputerName

    Set objComputer = GetObject("winmgmts:" _
        & "{impersonationLevel=Impersonate,authenticationLevel=Pkt}!\\" & _
        strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
            strComputer & "'")

    lngReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
        strPassword, strDomain & "\" & strUser, strOU, _
            JOIN_DOMAIN + ACCT_CREATE)

    Wscript.Echo "ReturnValue = " & CStr(lngReturnValue)

    Select Case lngReturnValue
        ' Some return code values (added 04/05/2010).
        Case 0
            Wscript.Echo "Success joining computer to the domain!"
        Case 5
            Wscript.Echo "Access is denied"
        Case 87
            Wscript.Echo "The parameter is incorrect"
        Case 110
            Wscript.Echo "The system cannot open the specified object"
        Case 1323
            Wscript.Echo "Unable to update the password"
        Case 1326
            Wscript.Echo "Logon failure: unknown username or bad password"
        Case 1355
            Wscript.Echo "The specified domain either does not exist or could not be contacted"
        Case 2224
            Wscript.Echo "The account already exists"
        Case 2691
            Wscript.Echo "The machine is already joined to the domain"
        Case 2692
            Wscript.Echo "The machine is not currently joined to a domain"
        Case Else
            Wscript.Echo "Unknown error"
    End Select

    -----

     


    Richard Mueller - MVP Directory Services

All Replies

  • Tuesday, February 12, 2013 5:31 AM
     
     Answered Has Code

    A quick search on the internet has provided this:

    Set OpSysSet = GetObject("winmgmts:{authenticationlevel=Pkt," _
         & "(Shutdown)}").ExecQuery("select * from Win32_OperatingSystem where "_
         & "Primary=true")
    for each OpSys in OpSysSet
        retVal = OpSys.Reboot()
    next

    Alternatively you can try executing Shutdown.exe:

    set objShell = wscript.CreateObject("wscript.shell")
    objShell.Run "shutdown.exe /R /T 5 /C ""Rebooting your computer now!"" "

    Thanks, Chris.

  • Tuesday, February 12, 2013 8:31 PM
     
     
    Thanks Chris, will try this today and will let you know.
  • Tuesday, February 12, 2013 9:24 PM
     
     
    Works wonderfully! Thanks Chris