Zmiana grupy roboczej spod DOS (wiersz polecen)

Dział od którego rozpoczęła się działalność forum. Znajdziecie tu tematy dotyczące Windows XP.

Zmiana grupy roboczej spod DOS (wiersz polecen)

Postautor: renepl » 05 gru 2005, 20:43

Czy jest mozliwosc zmiany grupy roboczej spod wiersza polecen?
Wiem ze idzie zmieniac ip przez komende set netsh ale czy da sie zmienic grupe robocza
nazwe komputera ,opis komputera?



renepl
Junior Member
 
Posty: 2
Rejestracja: 05 gru 2005, 20:39

Postautor: szymon grabiński » 16 gru 2005, 0:18

Myślę, że najprościej będzie pokombinować z tym skryptem (a dokładniej z JoinDomainOrWorkgroup,ComputerName), który w założeniu ma wywalać cię z domeny i ustawiać grupe roboczą. Szczegóły na Technet.

' ********* Script Start *********
Set oNetwork = WScript.CreateObject("WScript.Network")
Set oShell = WScript.CreateObject("WScript.Shell")

' Change "TESTWG" to the correct workgroup name.
sWorkGroup = "TESTWG"
sCompName = oNetwork.ComputerName

' Renamed netdom.exe to netdom18.exe to avoid version mixup.
' Change ', 1,' to ', 0,' to remove the flashing by of the command prompt.
oShell.Run "NETDOM18 MEMBER \\" & sCompName &_
" /JOINWORKGROUP " & sWorkGroup, 1, True

MsgBox sCompName & " is now member of workgroup " & sWorkGroup &_
vbCrLf & vbCrLf & "Please reboot to take modifications into
effect"
' ********* Script Stop *********


Ten skrypt z kolei jest mocniej rozbudowany, ale umozliwia miedzy innymi zmiane nazwy komputera:

'###### READ IN EXISTING COMPUTERNAME AND FQDN ######

RegKeyCompName = "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\"
RegKeyTCPIP = "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\"

Set WSHShell = CreateObject("WScript.Shell")

ComputerName = WSHShell.RegRead (RegKeyCompName & "ComputerName\ComputerName")
Hostname = WSHShell.RegRead (RegKeyTCPIP & "Hostname")
DomainName = WSHShell.RegRead (RegKeyTCPIP & "Domain")
FQDN = HostName & "." & DomainName

Set ADRootDSE = GetObject("LDAP://RootDSE")
If Err.Number <> 0 then
ADComputerName = "Unable to determine this information"
ADOU = "Unable to determine this information"
ADRenameOK = "0"
else
Set ADSysInfo = CreateObject("ADSystemInfo")
ADComputerName = ADSysInfo.ComputerName 'Get DN of local computer
ADRenameOK = "1"
ADOU = Mid(ADComputerName, InStr(ADComputerName, "=") + 1) 'Strip off just after the first = sign
ADOU = Mid(ADOU, InStr(ADOU, "=") - 2) 'Strip off at 2 before the second = sign
ComputerPath = "LDAP://" & ADComputerName
OUPath = "LDAP://" & ADOU
End if

'###### ASK USER FOR NEW DETAILS ###########

MsgBox "This script renames this computer and its active directory account" & vbCr & vbCr & "Name: " & ComputerName & vbCr & "FQDN: " & FQDN & vbCr & vbCr & "AD DN: " & ADComputerName & vbCr & "AD OU: " & ADOU, 0, "Information"

NewName = InputBox("Enter the new computer name below and click OK to continue","Rename: Step 1")
NewNameU = UCase(NewName)
NewNameL = LCase(NewName)
NewNameUCN = "CN=" & NewNameU

if NewName = "" then
wscript.echo "The computer name has not been changed"
else
vStartRenameCA = MsgBox ("Continue and rename computer to: " & NewName,vbYesNo or vbExclamation,"Rename: Step 2")
if vStartRenameCA = 6 then
With WSHShell
.RegDelete RegKeyTCPIP & "Hostname"
.RegDelete RegKeyTCPIP & "NV Hostname"
.RegWrite RegKeyCompName & "ComputerName\ComputerName", NewNameU
.RegWrite RegKeyCompName & "ActiveComputerName\ComputerName", NewNameU
.RegWrite RegKeyTCPIP & "Hostname", NewNameL
.RegWrite RegKeyTCPIP & "NV Hostname", NewNameL
End With
wscript.echo "The computer name and FQDN have been changed"
elseif vStartRenameCA = 7 then
wscript.echo "The computer name and FQDN have NOT been changed"
end if

if ADRenameOK = 1 then
vStartRenameAD = MsgBox ("Continue and rename AD Account to: " & NewName,vbYesNo or vbExclamation,"Rename: Step 3")
if vStartRenameAD = 6 then
Set objItem = GetObject(ComputerPath)
objItem.Put "dNSHostName", NewNameL & DomainName
objItem.SetInfo
objItem.Put "displayName", "DESKTOP_" & NewNameU & "$"
objItem.SetInfo
objItem.Put "sAMAccountName", NewNameU & "$"
objItem.SetInfo

Set objNewOU = GetObject(OUPath)
Set objMoveComputer = objNewOU.MoveHere _
(ComputerPath, NewNameUCN)
wscript.echo "The active directory computer account has been changed"
elseif vStartRenameAD = 7 then
wscript.echo "The computer account in AD has NOT been changed"
End If
else
wscript.echo "Insufficient information to rename AD account"

End If

End if



Pozdrawiam!
Szymon Grabiński
aka
sIMONkING of thelo0p [[url]www.thelo0p.prv.pl][/url]
Awatar użytkownika
szymon grabiński
 
Posty: 422
Rejestracja: 21 kwie 2004, 13:00
Lokalizacja: Więcbork

Postautor: renepl » 16 gru 2005, 5:28

Bede prubował się pobawić tym skryptem z góry dzieki



renepl
Junior Member
 
Posty: 2
Rejestracja: 05 gru 2005, 20:39


Wróć do Windows XP
 


  • Podobne tematy
    Odpowiedzi
    Odsłony
    Ostatni post

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość