Benennen Sie den Computer um und treten Sie der Domäne in einem Schritt mit PowerShell bei
Ziel: Auf einem computer unter Windows Server 2008 R2 mit PowerShell 2.0:
- Benennen Sie den computer
- Join the computer to a domain
Zustand: die Schritte 1 und 2 ausgeführt werden müssen, zusammen, d.h., ohne einen Neustart zwischen Ihnen
Funktionen ich bin Mit
Diese sind die PowerShell-Funktionen, die ich erstellt habe, für jeden Schritt.
Umbenennen Der Computer
Laut meiner Internet-recherche, die PowerShell 2.0 auf einem Punkt vor release hatte ein built-in-cmdlet aufgerufen Rename-Computer, aber es entfernt wurde aus unbekannten Gründen in der CTP 3. Meine version verwendet WMI.
function Rename-Computer
{
param ( [Parameter(Mandatory=$true)][string]$name )
process
{
try
{
$computer = Get-WmiObject -Class Win32_ComputerSystem
$result = $computer.Rename($name)
switch($result.ReturnValue)
{
0 { Write-Host "Success" }
5
{
Write-Error "You need administrative rights to execute this cmdlet"
exit
}
default
{
Write-Host "Error - return value of " $result.ReturnValue
exit
}
}
}
catch
{
Write-Host "Exception occurred in Rename-Computer " $Error
}
}
}
Beitreten, Computer, Domänen
Wie Sie sehen können, diese Funktion ist eigentlich nur ein wrapper für die integrierten Cmdlets Add-Computer, welcher den domain-Namen und schafft einige Anmeldeinformationen zu verwenden.
function Join-ComputerToDomain
{
param ( [Parameter(Mandatory=$true)][string]$domain )
process
{
try
{
$_domainCredential = $Host.UI.PromptForCredential("Enter domain credentials", "Enter domain credentials to be used when joining computer to the domain", "", "NetBiosUserName")
Add-Computer -DomainName $_domain -cred $_domainCredential
}
catch
{
Write-Error "Exception occurred in Join-ComputerToDomain " $Error
}
}
}
Schritte, die ich habe Versucht,
Versuch 1
- Nennen Rename-Computer
- Nennen Join-ComputerToDomain
- Neu starten
Ergebnis: Ausgabe von Rename-Computer zeigt an, dass der name geändert wurde, aber nach dem Neustart, name nicht ändern, aber die computer war trat zur domain
Versuch 2
- Nennen Join-ComputerToDomain
- Nennen Rename-Computer
- Neu starten
Ergebnis: Rückgabewert von Rename-Computer ist 1326 (Anmeldung fehlgeschlagen: unbekannter Benutzername oder Falsches Kennwort). Ich nehme an, dies ist, weil die domain-Anmeldeinformationen erforderlich sind, für die Sie umbenennen, sobald es mit der Domäne verbunden. Ich habe versucht, verwenden Sie die Anmeldeinformationen ein, mit der "Get-WmiObject" call-in " Rename-Computer, aber es warf eine Fehlermeldung über nicht in der Lage, andere Anmeldeinformationen verwenden, auf dem lokalen system.
Versuch 3
- Nennen Rename-Computer
- Neu starten
- Nennen Join-ComputerToDomain
- Neu starten
Ergebnis: Alles funktioniert wie erwartet, sondern extra-Neustart erforderlich. Funktioniert, aber ich will zu beseitigen, die wieder bei Schritt 2.
InformationsquelleAutor der Frage brett rogers | 2011-06-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nur verwenden, Add-Computer, gibt es einen parameter für "-NewName"
Beispiel:
Add-Computer -DomainName MYLAB.Local -ComputerName TARGETCOMPUTER -newname NewTARGETCOMPUTER
Möchten Sie vielleicht, um auch den parameter "-OPTIONEN"
http://technet.microsoft.com/en-us/library/hh849798.aspx
InformationsquelleAutor der Antwort Francois-Xavier Cat
Diese Lösung funktioniert:
Code:
InformationsquelleAutor der Antwort Laurent Kling
Gibt es eigentlich mehrere Gründe, warum Sie einen Neustart haben, nach dem umbenennen eines Computers, oder beim Beitritt einer Domäne (das ist im Grunde die gleiche operation mit der Validierung von AD). Ein Wesen, dass auf NT-basierten Rechnern (ich glaube, diese Schritte mit Windows 2000), das Applikations-und Netzwerk-Dienste Lesen den Namen des Computers, wenn Sie gestartet werden. Das ist die nur mal, wenn Sie Lesen den Namen des Computers, so dass, wenn Sie waren, um den computer umbenennen, ohne einen Neustart, das Netzwerk und application services nicht reagieren würde, um den neuen Namen des Computers. Dies ist insbesondere dann wichtig, wenn Sie erst umbenennen der computer, und dann versuchen, zu einer Domäne beitreten, wie die kerberos-handshake kann nicht abgeschlossen werden, ohne dass der Netzwerk-stack reagiert werden, um den richtigen Computernamen.
Ein weiterer Grund ist, dass einige registry-Schlüssel nutzen Sie den computer-Namen, und dieser Schlüssel kann nicht geändert werden, während Sie in den Speicher geladen werden (dies ist übrigens auch der Grund, warum einige Programme erfordern einen Neustart zum abschließen der installation oder deinstallation).
Könnten Sie den Registrierungsschlüssel RunOnce (msdn.microsoft.com/en-us/library/aa376977%28v=vs.85%29.aspx), um Ihre domain-join-Skript automatisch beim Neustart, aber du bist immer noch gehen zu müssen, um neu zu starten für beide Operationen.
Wenn Sie wollte wirklich schwierig werden, könnten Sie code hinzufügen, um Ihr Skript umbenennen, das würde den RunOnce-registry-key, starten Sie den domain-join-Skript bei Neustart. Seien Sie sich aber bewusst, wenn Sie gehen, um dies zu tun, dass das Skript schreiben, um den HKLM-hive müssen Sie als administrator ausführen (besonders wichtig, wenn UAC eingeschaltet).
Wenn Sie das tun wollen, würden Sie so etwas wie das Ende Ihrer Rename-Computer-Funktion:
So erstellen Sie einen Unterschlüssel in den RunOnce-registry-key (vorausgesetzt, Sie sind mit Vista/7/2008) mit dem Namen "joinDomain" mit dem Wert "C:\scripts\joinDomain.ps1"
Wenn das nicht für Sie arbeiten, versuchen Sie die zweite Zeile:
Lassen Sie mich wissen, wenn Sie Probleme haben.
InformationsquelleAutor der Antwort JoeG
War ich in der Lage zu erreichen, werden die beiden Aufgaben mit einem Neustart verwenden Sie die folgende Methode, und es funktionierte mit den folgenden JoinDomainOrWorkGroup flags. Dies war eine neue bauen und mit Windows 2008 R2 Enterprise. Ich habe überprüft, dass es nicht erstellen das computer-Konto im AD mit dem neuen Namen.
1 (0x1)
Standard. Fügt einen computer zu einer Domäne. Wenn dieser Wert nicht angegeben ist, wird der join ist ein computer zu einer Arbeitsgruppe
32 (0x20)
Können Sie eine Verknüpfung zu einer neuen Domäne, auch wenn der computer bereits Mitglied einer Domäne
InformationsquelleAutor der Antwort OGWANKENOBI
Ich war auf der Suche für die gleiche Sache heute und endlich einen Weg, es zu tun. Ich wurde angedeutet, dass es möglich war durch den Einsatz von sconfig, die Sie bitten, wenn Sie möchten, ändern Sie den Namen des Computers nach dem Beitritt zu einer Domäne. Hier ist mein raw-code-Zeile. Es könnte verbessert werden, aber zu müde zum nachdenken über es für jetzt.
InformationsquelleAutor der Antwort Chriz-tian
Optionen JoinWithNewName im Add-Computer kann diese Arbeit tun .
InformationsquelleAutor der Antwort titoFlying
Als niemand Antwort, ich versuche etwas :
Ich glaube, ich verstehe, warum die Attent nicht funktioniert. Es ist, weil der Beitritt eines Computers zu einer Domäne ist irgendwie auch umbenennen des Computers (der domain-name Teil, geben Sie in der name der Maschine).
So tun Sie versuchen, es zu tun, in voller WMI Weg, du hast eine Methode in
Win32_ComputerSystem
Klasse namensJoinDomainOrWorkgroup
. Tut es auf der gleichen Ebene, vielleicht gibt Ihnen mehr Chancen, es zu schaffen.InformationsquelleAutor der Antwort JPBlanc
Rename-Computer entfernt wurde CTP3, denn es gibt eine Menge Dinge getan, wenn das umbenennen eines Computers und MS entweder gar nicht möchten, neu zu erstellen, Prozess-oder nicht alle Themen mit der notwendigen bits. Ich denke, Jefferey Snover, sagte Sie, nur mit netdom.exe statt, wie ist die beste Vorgehensweise zum umbenennen einen computer über die Kommandozeile. Nicht die Antwort, die Sie gesucht haben, aber sollten Sie in die richtige Richtung
InformationsquelleAutor der Antwort Arposh
Wenn Sie das Computerkonto auf dem DC den ersten, dann Sie können ändern Sie den Namen und treten Sie der Domäne bei einem Neustart.
InformationsquelleAutor der Antwort boclark
Ich würde gerne bieten der folgenden, die in einem automatisierten Kapazität für mich. Es zeigt die Abfolge der Schritte und die Beziehung zwischen Einstellung der name zuerst, dann der der Domäne Beitritt. Ich benutze diese in ein Skript als eine Orchestrierung Punkt für Win2008r2 und win2012r2 über Scalr CMP für EC2 und Openstack-cloud-Instanzen.
Einzige Einschränkung ist, vorsichtig zu sein mit den Anmeldeinformationen, die Sie ziehen aus einem key store eher als hart codiert, wie hier dargestellt ... aber das ist ein anderes Thema.
Dank, an alle, für Eure Antworten.
InformationsquelleAutor der Antwort havoc1
Dieser wird prompt für computer-Namen und join to domain dann neu starten.
InformationsquelleAutor der Antwort DisplayName
Hinzufügen lokales Konto + umbenennen der computer bei der entsprechenden Aufforderung + join domain promt
InformationsquelleAutor der Antwort DisplayName
Ich habe einen getesteten code zum beitreten der Domäne und benennen Sie den computer, um die servicetag.
code:
DOMAIN\USER
= Bearbeiten, um einen Benutzer in der Domäne haben, kann der Computer der Domäne beitreten. Beispiel:DOMAIN
= Bearbeiten, um die Domäne, der Sie beitreten möchten. Beispiel:InformationsquelleAutor der Antwort Krudus
In einem Schritt w/admin-Anmeldeinformationen:
-DomainName = domain-Namen (z.B. corp.lokal)
-ComputerName = Name auf Ihrem lokalen computer (z.B. den computer, Den Sie auf. Verwenden Sie "Hostname" in PS, um herauszufinden, name).
-NewName = das, Was Sie wollen, um den computer umbenennen (z.B. CORP-ANNE-TX)
-Credentials = Ihre admin-Anmeldeinformationen, geben Sie die Berechtigung, um diese Aktion durchzuführen (z.B. Domain\Admin = example Corp\JSmith. Ein Dialogfeld wird angezeigt, in Ihrem Passwort setzen)
In zwei Schritten:
Schritt 1
Hier Sie haben nicht zu -ComputerName als es davon ausgegangen, dass Sie auf dem lokalen computer. Wenn dies aus der Ferne; andere Geschichte.
Schritt 2
xxxx\xxxx = Ihre domain und admin-Benutzername (z.B. Corp\Jsmith)
InformationsquelleAutor der Antwort Alan Inman
Hier ist ein weiterer Weg, dies zu tun mit "Computer Name/Domain Ändern" Windows-System-Eigenschaften.
In anderen Worten, bringen System Eigenschaften| Registerkarte "Computername" klicken Sie dann auf Ändern mit powershell. Es ist anders nähern, ist es sinnvoll in meiner situation und es könnte hilfreich sein für jemand anderes.
InformationsquelleAutor der Antwort Feedback
Funktioniert bei mir ^^
InformationsquelleAutor der Antwort Dorance Martinez