/bundles/itninjaweb/img/Breadcrumb_cap_w.png
Hi there,

I'm working on a Kace k2100 appliance and thing are going quite well.
On the appdeloy website i found this set op scripts that are changing the pc name with wsname and than join the pc to a certain domain.
This script workes great, especially the pc renaming part come in very handy for our company.

I would like to change the script a bit, so that the pc/laptop automatically is added to a certain OU. The name of the OU will be hardcoded in the script.

I,ve seen already some (a lot :-) ) of scripts passing by, also on this forum, but none of them extracts a computername from BIOS, like assettag or servicetag.

I,ve tried to modify the script by myself, but still with no results. Changing the computername goes well, but the adding to Domain/Organizational Unit part does not work.
The scripts, and the changes i've made to the are below. Can anyone please check them and give me some advice ?

Script 1


@echo Rename and Join a Windows 7 x64 computer to a domain

xcopy /S /E /I source c:\source
c:\source\1_wsname_x64.bat


Script 2


echo Changing the name of the Windows 7 x64 computer

c:\source\wsname.exe /N:$ASSETTAG /Logfile:C:\wsname.txt

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v V1 /t REG_SZ /d "CMD /C \"C:\source\2_JoinDomain_x64.bat\"" /f

shutdown -r -t 45


Script 3

REM Join a Windows 7 x64 computer to the domain

REM ***** Join_Domain.vbs <domain> <DomainUser> <password> <Default domain DNS Server IP> *****>

REM ==========================================================
REM Here I added the OU=test,dc=domain,dc=local part.
REM ===========================================================

C:\source\Join_Domain.vbs domain.local admin Password 172.16.0.15 OU=test,dc=domain,dc=local

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 0 /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d <NULL> /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d <NULL> /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v V1 /t REG_SZ /d "CMD /C \"rd /s /q C:\source\""

shutdown -r -t 45


Script 4


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

'=======================================================
'Here i changed the digit: WScript.Arguments.Count > 4 to WScript.Arguments.Count > 5
'=======================================================

If WScript.Arguments.Count < 3 or WScript.Arguments.Count > 5 Then
WScript.Quit
'=======================================================
' Here i added the strOU item
'=======================================================
Else
strDomain = WScript.Arguments.Item(0)
strUser = WScript.Arguments.Item(1)
strPassword = WScript.Arguments.Item(2)
strOU = WScript.Arguments.Item(4)

'=======================================================
'Here i changed: WScript.Arguments.Count = 4 to WScript.Arguments.Count = 5
'=======================================================
'set DNS IP address
If WScript.Arguments.Count = 5 Then
strDNSIP = WScript.Arguments.Item(3)
Set objShell = CreateObject("WScript.shell")
objShell.Run "netsh int ip set dns ""local area connection"" static "& _
strDNSIP &" primary",0,0
End If

End If


Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName

'==========================================================
'I changed: strDomain & "\" & strUser, _
' NULL, _
' JOIN_DOMAIN+ACCT_CREATE)
'
'into: strDomain & "\" & strUser, _
' strOU, _
' JOIN_DOMAIN+ACCT_CREATE)
'============================================================


Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
strComputer & _
"\root\cimv2:Win32_ComputerSystem.Name='" _
& strComputer & "'")
ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
strPassword, _
strDomain & "\" & strUser, _
strOU, _
JOIN_DOMAIN+ACCT_CREATE)


Thanks in advance,
Mesjoggah
0 Comments   [ - ] Hide Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
Answer this question or Comment on this question for clarity

Answers

0
Nevermind. The script workes. Just made a typo in domain credentials.... sigh...[:@]
Answered 03/05/2012 by: Mesjoggah
Orange Belt

Please log in to comment