I've been trying to get a script to work, but I am having no luck at all. Actually, I have a disaster that is not even close to probably ever working and I hope than someone can help me get this script working.
Here's what I'm trying to do: I have a VBS script named "changeComputerName.vbs" When I execute this script locally on a server is asks for four variables:
1. enter domain\user credentials
2. enter admin password
3. enter current computer name
4. enter new computer name
I would like to create a procedure so that I can push this script to a server, enter the four variables the script asks for, and then execute the script. Most of our agents are using c:\kworking as the working directory. I tried to create a variable using the getVariable statement, then write the file to the server. Then I created four getVariable statements for my four prompts. Finally, I execute the script using the executeVBScript statement. So far the file doesn't even show up on the server.
I appreciate anyone's help. Thank you.
*******************************************
This is my exported Procedure
*******************************************
<ScriptExport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.kaseya.com/vsa/2008/12/Scripting">
<Procedure name="Change Computer Name">
<Body description="">
<Statement name="GetVariable" continueOnFail="false">
<Parameter xsi:type="EnumParameter" name="VariableType" value="AgentTempDirectory"/>
<Parameter xsi:type="StringParameter" name="SourceContent" value=""/>
<Parameter xsi:type="StringParameter" name="VariableName" value="agentDir"/>
</Statement>
<Statement name="WriteFile" continueOnFail="false">
<Parameter xsi:type="StringParameter" name="Path" value="#agentDir#\changeComputerName.vbs"/>
<Parameter xsi:type="StringParameter" name="ManagedFile" value="VSASharedFiles\SystemScripts\changeComputerName.vbs"/>
<Parameter xsi:type="BooleanParameter" name="DeleteAfter" value="False"/>
</Statement>
<Statement name="GetVariable" continueOnFail="false">
<Parameter xsi:type="EnumParameter" name="VariableType" value="Prompt"/>
<Parameter xsi:type="StringParameter" name="SourceContent" value="Enter Domain\AdminUser for the Domain"/>
<Parameter xsi:type="StringParameter" name="VariableName" value="sAdminUser"/>
</Statement>
<Statement name="GetVariable" continueOnFail="false">
<Parameter xsi:type="EnumParameter" name="VariableType" value="Prompt"/>
<Parameter xsi:type="StringParameter" name="SourceContent" value="Enter Domain Admin password"/>
<Parameter xsi:type="StringParameter" name="VariableName" value="sAdminPass"/>
</Statement>
<Statement name="GetVariable" continueOnFail="false">
<Parameter xsi:type="EnumParameter" name="VariableType" value="Prompt"/>
<Parameter xsi:type="StringParameter" name="SourceContent" value="Enter computers current name"/>
<Parameter xsi:type="StringParameter" name="VariableName" value="sOldCname"/>
</Statement>
<Statement name="GetVariable" continueOnFail="false">
<Parameter xsi:type="EnumParameter" name="VariableType" value="Prompt"/>
<Parameter xsi:type="StringParameter" name="SourceContent" value="Enter computers new name"/>
<Parameter xsi:type="StringParameter" name="VariableName" value="sNewCname"/>
</Statement>
<Statement name="Execute VBScript" continueOnFail="false">
<Parameter xsi:type="StringParameter" name="Parameter1" value="#agentDir#\changeComputerName.vbs"/>
<Parameter xsi:type="StringParameter" name="Parameter2" value="#sAdminUser# #sAdminPass# #sOldCname# #sNewCname#"/>
<Parameter xsi:type="StringParameter" name="Parameter3" value="False"/>
</Statement>
</Body>
</Procedure>
</ScriptExport>
********************************************************
This is the changeComputerName vbs script
*********************************************************
' enter the number of seconds to pause before rebooting the computer automatically. Short if you know no one is using it,
longer if you want to give someone time to save flies. A popup appears on the screen of the renamed computer.
sreboot = 5
' open the file system object
Set oFSO = CreateObject("Scripting.FileSystemObject")
set WSHShell = wscript.createObject("wscript.shell")
' computer's new name
Dim sNewCname
' computer's current name
Dim sOldCname
' domain admin username
Dim sAdminUser
' domain admin password
Dim sAdminPass
' Get input
sAdminUser = InputBox("Enter Domain\AdminUser for the Domain","Computer Rename Script")
sAdminPass = InputBox("Enter Domain Admin password","Computer Rename Script")
sOldCname = InputBox("Enter computer's current name","Computer Rename Script")
sNewCname = InputBox("Enter computer's new name","Computer Rename Script")
' Run netdom
Call WSHShell.Run("netdom renamecomputer " & sOldCname & " /newname:" & sNewCname & " /userd:" & sAdminUser & " /passwordd:" &
sAdminPass & " /usero:" & sAdminUser & " /passwordo:" & sAdminPass & " /reboot:" & sreboot & " /force ")
wscript.sleep 10