ADSI scripting template that runs the script against the computer whose name was included as a command-line argument. This script prompts you to enter a user name and password to be used when connecting to the remote machine; it also pings that remote machine before trying to make a connection. To run this script, type the name of the script followed by the name of the computer you want the script to run against. For example: my_script.vbs atl-ws-01.

Visual Basic
Edit|Remove
On Error Resume Next

Const ADS_SECURE_AUTHENTICATION = 1
Const ADS_USE_ENCRYPTION = 2

If Wscript.Arguments.Count = 0 Then
    Wscript.Echo "You must enter the computer name when starting this script."
    Wscript.Quit
End If

strCredentials = InputBox _
    ("Please enter the user name, a blank space, and then the password:", _
        "Enter User Credentials")

If strCredentials = "" Then
    Wscript.QUit
End If

arrCredentials = Split(strCredentials," ")
strUser = arrCredentials(0)
strPassword = arrCredentials(1)

strComputer = Wscript.Arguments.Item(0)

Set objShell = CreateObject("WScript.Shell")
strCommand = "%comspec% /c ping -n 3 -w 1000 " & strComputer & ""
Set objExecObject = objShell.Exec(strCommand)

Do While Not objExecObject.StdOut.AtEndOfStream
    strText = objExecObject.StdOut.ReadAll()
    If Instr(strText, "Reply") > 0 Then

        strComputer = "WinNT://" & strComputer

        Set objDSO = GetObject("WinNT:")
        Set objComputer = objDSO.OpenDSObject _
            (strComputer, strUser, strPassword, _
                ADS_SECURE_AUTHENTICATION AND ADS_USE_ENCRYPTION)

        ' =====================================================================
        ' Insert your code here
        ' =====================================================================

        objComputer.Filter = Array("User")
        For Each objUser in objComputer
            Wscript.Echo objUser.Name
        Next

        ' =====================================================================
        ' End
        ' =====================================================================

    Else
        Wscript.Echo strComputer & " could not be reached."
    End If
Loop