User Tools

Site Tools


userspace:windows7

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
userspace:windows7 [2011/11/21 08:00]
tobias
userspace:windows7 [2013/05/06 12:19]
phimeca Translate to english.
Line 1: Line 1:
-== Domainjoin Windows 7 (32Bit) == +====== Domainjoin Windows 7 ======
-Dieses Script fügt einen Client zu einer Domäne hinzu. Genutzt wird dazu das Windowseigene Powershell Tool Add-Computer+
  
-== Proerties == +\\
-  * dom - Domäne +
-  * user - Benutzer zum hinzufügen in die Domäne +
-  * password - Passwort des Domänenbenutzers+
  
-== WINST Code == +===== Domainjoin via add-computer command (Opsi Package) ===== 
-<code>+ 
 +This Script adds a client to a domain using powershell-tool 'add-computer'
 +Dieses Script fügt einen Client zu einer Domäne hinzu. Genutzt wird dazu das Powershell Tool Add-Computer. 
 + 
 +You are able to choose the Domain via Product Property  
 + 
 +by tobias 
 + 
 +=== Properties === 
 +Create a OPSI Package with the following product properties: 
 +  * dom - Domäne /domain 
 +  * user - Benutzer zum hinzufügen in die Domäne / User with add-domain-rights 
 +  * password - Passwort des Domänenbenutzers / password of domainadmin 
 + 
 +=== join.ins === 
 +<code winst>
 [INITIAL] [INITIAL]
-Message = "Rechner wird zur Domäne hinzugefügt!"+;Message = "Rechner wird zur Domäne hinzugefügt!" 
 +Message = "Join computer to the domain!"
  
 [Actions] [Actions]
Line 30: Line 42:
  
 [ShellBatch_JoinDom] [ShellBatch_JoinDom]
 +set-executionpolicy RemoteSigned
 powershell c:\joinpatched.ps1 powershell c:\joinpatched.ps1
 del c:\joinpatched.ps1 del c:\joinpatched.ps1
 +</code>
 +
 +\\
 +\\
 +
 +===== Domainjoin with an opsi-package =====
 +
 +This Script will show you how to make a Domainjoin in Windows7 with a selfmade opsi-product.
 +I choose this way because not every auto-installed Client must be a member of the Domain and you are more flexible by installing the Clients.
 +
 +Script by Mike1987
 +
 +  * **Tested with opsi 4.0.1**
 +  * **Tested with opsi-winst 4.11.1.6**
 +  * **Tested with win7-x64 4.0.1-5 (Windows7-x64 Professional)**
 +
 +**THIS PRODUCT IS ABLE TO BE USED IN WINDOWS 7 32-Bit AND 64-Bit ARCHITECTURES!!!**
 +
 +First of all you have to create a new opsi localboot product (description in Details in the opsi-manual)
 +In this example the name of the opsi-prodcut is windows7-domainjoin
 +
 +Content of **setup.ins**
 +
 +<code winst>
 +[Initial]
 +Message= Windows7-Domainjoin
 +SetLogLevel=6
 +ExitOnError=false
 +ScriptErrorMessages=true
 +TraceMode=off
 +
 +if FileExists64("C:\Windows\cmd64.exe")  
 +
 +                Registry_install /64Bit 
 +                DosBatch_1
 +        else
 +                Registry_install /32Bit
 +                DosBatch_1
 +endif
 +
 +[Registry_install]
 +openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
 +set "AutoAdminLogon" = "1"
 +set "DefaultUsername" = "Administrator" 
 +set "DefaultPassword" = "password"
 +
 +[DosBatch_1]
 +%scriptpath%\join.cmd
 +</code>
 +
 +
 +Content of **join.cmd**
 +
 +<code winst>
 +copy "\\opsiserver\opsi_workbench\windows7-domainjoin\CLIENT_DATA\auto.reg" "C:\tmp\"
 +copy "\\opsiserver\opsi_workbench\windows7-domainjoin\CLIENT_DATA\join.vbs" "C:\tmp\"
 +copy "\\opsiserver\opsi_workbench\windows7-domainjoin\CLIENT_DATA\domainjoin.reg" "C:\Windows\System32\"
 +C:\Windows\system32\regedit.exe /S "C:\Windows\system32\domainjoin.reg"
 +shutdown /r /f /t 0
 +</code>
 +
 +Content of **join.vbs**
 +
 +<code>
 +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
 +
 +strDomain = "DOMAINNAME"       ' Windowsdomain
 +strPassword = "DOMAINADMIN"    ' Password
 +strUser = "ADMINPASSWORD"      ' Domainadmin
 +
 +Set objNetwork = CreateObject("WScript.Network")
 +strComputer = objNetwork.ComputerName
 +
 +Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
 +    strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
 +        strComputer & "'")
 +
 +ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
 +    strPassword, strDomain & "\" & strUser, NULL, _
 +        JOIN_DOMAIN + ACCT_CREATE)
 +
 +Set WSHShell = WScript.CreateObject("WScript.Shell")
 +WshShell.Run "shutdown.exe -r -t 0"
 +
 +Wscript.Quit
 +</code>
 +
 +Content of **domainjoin.reg**
 +
 +<code>
 +Windows Registry Editor Version 5.00
 +
 +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters]
 +"ServiceDll"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\
 +  00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\
 +  77,00,6b,00,73,00,73,00,76,00,63,00,2e,00,64,00,6c,00,6c,00,00,00
 +"ServiceDllUnloadOnStop"=dword:00000001
 +"EnablePlainTextPassword"=dword:00000000
 +"EnableSecuritySignature"=dword:00000001
 +"RequireSecuritySignature"=dword:00000000
 +"OtherDomains"=hex(7):00,00
 +"DomainCompatibilityMode"=dword:00000001
 +"DNSNameResolutionRequired"=dword:00000000
 +
 +[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]
 +@="C:\\tmp\\join.vbs"
 +</code>
 +
 +Content of **auto.reg**
 +
 +<code>
 +Windows Registry Editor Version 5.00
 +
 +[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
 +"AutoAdminLogon"="1"
 +"DefaultUsername"="Administrator"
 +"DefaultPassword"="password"
 +</code>
 +
 +
 +All these files (a total of 5) have to be copied to the **/<PATH OF YOUR SELFMADE PRODUCTS>/windows7-domainjoin/CLIENT_DATA/** directory.
 +
 +The build the product with **opsi-makeproducfile** an install it with **opsi-package-manager -i windows7-domainjoin_1.0-1.opsi**
 +
 +\\
 +\\
 +
 +===== Domainjoin with a Samba PDC =====
 +
 +by chewbacca
 +
 +tested by:  //[[hungerharke@gmx.de|Thomas_H]] 2011/11/21 14:31//
 +
 +Edit the /opt/pcbin/install/win7/custom/unattend.xml (or /opt/pcbin/install/win7-x64/custom/unattend.xml):
 +
 +<code>
 +<component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.c
 +     <Identification>
 +           <Credentials>
 +                 <Domain>mynet</Domain>
 +                 <Password>secret</Password>
 +                 <Username>Admin</Username>
 +           </Credentials>
 +           <DebugJoin>false</DebugJoin>
 +           <JoinDomain>meinnet</JoinDomain>
 +           <UnsecureJoin>false</UnsecureJoin>
 +     </Identification>
 +</component>
 +</code>
 +
 +Domain means: the domain the client should be included\\
 +Password means: the password of the domainadmin, the account, which is allowed to include clients to the domain.\\
 +Username means: the name of the domainadmin.\\
 +
 +Beginners please note: if the domainadmin's name (especially in a Samba-Domain) is "DomJoin", so please enter THIS name, not the name of the admin (normally "Admin) of the client.
 +
 +Create a file named "join.vbs":
 +
 +=== join.vbs ===
 +<code winst>
 +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
 +     
 +strDomain = "Windowsdomain" ' hier die Windowsdomain
 +strPassword = "very secret" ' very secret
 +strUser = "Domainadmin"  ' Domainadmin
 +     
 +Set objNetwork = CreateObject("WScript.Network")
 +strComputer = objNetwork.ComputerName
 +   
 +Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
 +    strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
 +        strComputer & "'")
 + 
 +ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
 +    strPassword, strDomain & "\" & strUser, NULL, _
 +        JOIN_DOMAIN + ACCT_CREATE)
 +      
 +Set WSHShell = WScript.CreateObject("WScript.Shell")
 +WshShell.Run "shutdown.exe -r -f -t 3"
 +
 +set shell = WScript.CreateObject("WScript.Shell")
 +windir = shell.ExpandEnvironmentStrings("%windir%")
 +
 +set filesys = CreateObject ("Scripting.FileSystemObject")
 +set tempFile = filesys.Getfile(windir & "\system32\join.vbs")
 +tempfile.Delete
 +
 +Wscript.Quit      
 +</code>
 +
 +and copy it to /opt/pcbin/install/win7/opsi.
 +
 +Create a file name "default.reg"
 +
 +=== default.reg ===
 +<code winst>
 +Windows Registry Editor Version 5.00
 +
 +;Insert Samba Patch
 +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters]
 +"DomainCompatibilityMode"=dword:00000001
 +"DNSNameResolutionRequired"=dword:00000000
 +
 +;join Domain at first start
 +[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]
 +"firstrun"="wscript.exe \"join.vbs\""
 +</code>
 +
 +and copy it to /opt/pcbin/install/win7/opsi.
 +
 +Create a file named "21_reg.cmd"
 +
 +=== 21_reg.cmd ===
 +<code winst>
 +rem --- Win7samba Patch and Join Script
 +echo [%date% %time%] copy -s "%script_drive%\opsi\join.vbs" "%SystemRoot%\System32\join.vbs"
 +copy "%script_drive%\opsi\join.vbs" "%SystemRoot%\System32\join.vbs"
 +echo [%date% %time%] Executing: regedit /s "%script_drive%\opsi\default.reg"
 +regedit /s "%script_drive%\opsi\default.reg"
 +</code>
 +
 +and copy it to /opt/pcbin/install/win7/opsi/postinst.d 
 +
 +Set the rights of all three files to user opsiconfd:pcpatch
  
-[/code]+----
userspace/windows7.txt · Last modified: 2021/08/23 08:37 (external edit)