Что нового

Помогите исправить скрипт по переименованию ПК и добавления его в домен

HaeMHuK

Новичок
Сообщения
43
Репутация
0
Нашел в интернете скрипт, но он работает немного не так как мне нужно.
Он не может переименовать ПК и добавить его в домен одновременно. Либо то либо другое.

Код:
#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 625, 443, 193, 125)

Global Const $JOIN_DOMAIN = 1
Global Const $ACCT_CREATE = 2


;User / Domain Data

$strComputer = GUICtrlCreateInput("PCNAME", 88, 56, 217, 21)
$strAdminAccount = GUICtrlCreateInput("DOMAIN USERNAME", 88, 86, 217, 21)
$strAdminPass = GUICtrlCreateInput("PASSWRD", 88, 116, 217, 21)
$jdom = GUICtrlCreateButton("Join", 88, 146, 217, 21)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

	While 1
		$msg = GUIGetMsg()
			
Switch $msg
  Case $GUI_EVENT_CLOSE
            ExitLoop
		
case $jdom

;Rename Computer
$strComputer1 = GUICtrlRead($strComputer)

$objWMIService = ObjGet("winmgmts:\\.\root\cimv2")
    
For $colCompSystems in $objWMIService.InstancesOf("Win32_ComputerSystem")
    $sReturn = $colCompSystems.Rename($strComputer1)
    If $sReturn <> 0 Then
        MsgBox(0,"Fail","Rename failed.  Error = " & @error & @CRLF & "Exiting script.")
        Exit
    Else
        MsgBox(0,"Rename","Rename successful.")
		EndIf
Next	
;Join to Domain


$strAdminAccount1 = GUICtrlRead($strAdminAccount)
$strAdminPass1 = GUICtrlRead($strAdminPass)
$strDomainName = "DOMAIN.COM"
$strComputer1 = GUICtrlRead($strComputer)

$objWMIService = ObjGet("winmgmts:" & "{impersonationLevel=impersonate}!\\" & $strComputer1 & "\root\cimv2")
$colCompSystems = $objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem")

For $objCompSystem In $colCompSystems
 MsgBox(0, 'Joining Domain', "Computer Name: " & $objCompSystem.Name & @CRLF & @CRLF & "Domain - Before: " & $objCompSystem.Domain)
  
  $intJoinDomain = $objCompSystem.JoinDomainOrWorkgroup($strDomainName, $strAdminPass1, $strDomainName & '\' & $strAdminAccount1, '', $JOIN_DOMAIN + $ACCT_CREATE)
  If $intJoinDomain = 0 Then
    MsgBox(0, @ScriptName, "Joined computer to " & $strDomainName & " domain.")
  ElseIf $intJoinDomain = 1 Then
    MsgBox(0, @ScriptName, "Joined computer to " & $strDomainName & " domain." & @CRLF & "  Must reboot.")
Else
	EndIf
Next
	EndSwitch
	WEnd

что-то в этом роде делать не хотелось бы:
http://www.experts-exchange.com/Programming/Misc/Q_26575071.html
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
HaeMHuK [?]
Он не может переименовать ПК и добавить его в домен одновременно. Либо то либо другое.
Может после переименования ПК/добавление домена перезагрузка принципиальна?
 
Верх