Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Remoterechner in eine Domäne aufnehmen mit VBS/WSH

Mitglied: J3nny1981

J3nny1981 (Level 1) - Jetzt verbinden

21.02.2007, aktualisiert 26.02.2007, 4262 Aufrufe, 23 Kommentare

Hallo,
Ich möchte bei mehreren Remote-Rechnern (im LAN) die Rechnernamen ändern und diese dann zu einer Domäne hinzufügen.
Den Rechnernamen via "Remote" über eingabe der IP+Loakele admindaten habe ich geschafft.

Allerdings brauche ich jetzt noch ein VBS/WSH-Skript welches mir erlaubt, den Remoterechner in einer Domäne hinzuzufügen....

Ich stell mir das so vor, dass einfach IP + AdminDaten abgefragt werden, er dann connected und mich dann fragt in welche Domäne er aufgenommen werden soll, wieder mit DomänAdm_Name und Domän_Passw.
Ist das möglich? Wenn ja wie ?


Vielen Dank schonmal
Jenny
Mitglied: Alfredus
21.02.2007 um 14:20 Uhr
MSDN Artikel

So sollte der Domänenbeitritt funktionieren.

Gruß
Alfredus
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 14:25 Uhr
ja das habe ich auch shcon gefunden,
allerdings klappt das nur wenn man das beispiel script likal ausführt...

ich will es aber über remote ausführen..
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 14:25 Uhr
ja das habe ich auch shcon gefunden,
allerdings klappt das nur wenn man das beispiel script likal ausführt...

ich will es aber über remote ausführen..
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 14:26 Uhr
ja das habe ich auch shcon gefunden,
allerdings klappt das nur wenn man das beispiel script likal ausführt...

ich will es aber über remote ausführen..
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 14:26 Uhr
ja das habe ich auch shcon gefunden,
allerdings klappt das nur wenn man das beispiel script likal ausführt...

ich will es aber über remote ausführen..
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 14:26 Uhr
ja das habe ich auch shcon gefunden,
allerdings klappt das nur wenn man das beispiel script likal ausführt...

ich will es aber über remote ausführen..
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 14:26 Uhr
ja das habe ich auch shcon gefunden,
allerdings klappt das nur wenn man das beispiel script likal ausführt...

ich will es aber über remote ausführen..
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 14:26 Uhr
ja das habe ich auch shcon gefunden,
allerdings klappt das nur wenn man das beispiel script likal ausführt...

ich will es aber über remote ausführen..
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 14:26 Uhr
ja das habe ich auch shcon gefunden,
allerdings klappt das nur wenn man das beispiel script likal ausführt...

ich will es aber über remote ausführen..
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 14:26 Uhr
ja das habe ich auch shcon gefunden,
allerdings klappt das nur wenn man das beispiel script likal ausführt...

ich will es aber über remote ausführen..
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 14:26 Uhr
ja das habe ich auch shcon gefunden,
allerdings klappt das nur wenn man das beispiel script likal ausführt...

ich will es aber über remote ausführen..
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 14:26 Uhr
ja das habe ich auch shcon gefunden,
allerdings klappt das nur wenn man das beispiel script likal ausführt...

ich will es aber über remote ausführen..
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 14:26 Uhr
ja das habe ich auch shcon gefunden,
allerdings klappt das nur wenn man das beispiel script likal ausführt...

ich will es aber über remote ausführen..
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 14:27 Uhr
ja das habe ich auch shcon gefunden,
allerdings klappt das nur wenn man das beispiel script likal ausführt...

ich will es aber über remote ausführen..
Bitte warten ..
Mitglied: bastla
21.02.2007 um 14:54 Uhr
Hallo J3nny1981!

Hast Du schon versucht, in dem genannten Script die Zeile
01.
strComputer = objNetwork.ComputerName
durch
01.
strComputer = "Name des aufzunehmenden Computers"
zu ersetzen?

Ansatz Nr. 2: Du könntst das Script über PsExec ausführen lassen.

Grüße
bastla
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 15:28 Uhr
Also mein bisheriges Script um den Remotenamen zu ändern sieht so aus....
So ähnlich hatte ich mir das auch vorgestellt.... nur eben angepasst für den Domänbeitritt.
Wie kann man dieses Script anpassen?


01.
If Right(WScript.FullName, Len(WScript.Fullname) - Len(WScript.Path) -1) = "WScript.exe" Then 
02.
  WScript.CreateObject("WScript.Shell").Run "cmd /t:1F /k cscript //NoLogo " & Chr(34) & WScript.ScriptFullName & Chr(34) 
03.
  WScript.Quit 
04.
End If 
05.
WScript.StdOut.WriteLine String(80, "=") 
06.
WScript.StdOut.WriteLine "(R)ename(R)emote(C)omputer" & vbCrLf 
07.
WScript.StdOut.WriteLine String(80, "=") 
08.
WScript.StdOut.WriteLine "Das Skript wurde am " & now & " gestartet." 
09.
WScript.StdOut.WriteLine  
10.
WScript.StdOut.Write "Computer oder IP-Adresse -> " 
11.
Computer = WScript.StdIn.ReadLine() 
12.
WScript.StdOut.Write "Lokaler Administrator    -> " 
13.
PC_Adm = WScript.StdIn.ReadLine() 
14.
WScript.StdOut.Write "Kennwort                 -> " 
15.
PC_PSW = WScript.StdIn.ReadLine() 
16.
On Error Resume Next 
17.
Set WMILocator =CreateObject("WbemScripting.SWbemLocator") 
18.
WMILocator.Security_.AuthenticationLevel = 6 
19.
Set WMI = WMILocator.ConnectServer(Computer, "root\cimv2" , PC_Adm, PC_PSW) 
20.
If Err.Number = 0 Then 
21.
  WScript.StdOut.WriteLine 
22.
  WScript.StdOut.Write "Neuer Computername       -> " 
23.
  NeuerName = WScript.StdIn.ReadLine() 
24.
  Err.Clear 
25.
  Set CompSys = WMI.ExecQuery ("Select * from Win32_ComputerSystem") 
26.
  For Each Item In CompSys 
27.
    Item.Rename NeuerName 
28.
  Next 
29.
  If Err.Number = 0 Then 
30.
    WScript.StdOut.WriteLine Computer & " wurde in " & NeuerName & " umbenannt." 
31.
    WScript.StdOut.WriteLine "Der Computer wird jetzt neugestartet." 
32.
    WScript.CreateObject("WScript.Shell").Run "shutdown.exe -r -m \\" & Computer 
33.
  Else 
34.
    WScript.StdOut.WriteLine Err.Description 
35.
  End If  
36.
Else 
37.
  WScript.StdOut.WriteLine 
38.
  WScript.StdOut.Write "Bei dem Versuch eine Verbindung mit den Remotecomputer herzusstellen," & vbCrLf & "ist ein Fehler aufgetreten -> " 
39.
  WScript.StdOut.WriteLine Err.Description  
40.
End If 
41.
 
42.
 
Bitte warten ..
Mitglied: Alfredus
21.02.2007 um 15:52 Uhr
ich will es aber über remote ausführen..

*?*

Bei WMI ist es wurscht(naja fast immer) wo es ausgeführt wird. Entscheidend ist, auf welchen Computer die Methode Win32_ComputerSystem Class#JoinDomainOrWorkgroup() angewandt wird.

Fülle die Variable objNetwork.ComputerName mit dem Namen des PCs und gibt bei den Kontendaten die Daten eines Admins mit.

Gruß
Alfredus
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 15:58 Uhr
mhh ich verstehs nicht,,
ich habs nun so versucht, aber es funktioniert nicht... er führt den reboot und domainänderrung lokal durch....

01.
Const JOIN_DOMAIN             = 1 
02.
Const ACCT_CREATE             = 2 
03.
Const ACCT_DELETE             = 4 
04.
Const WIN9X_UPGRADE           = 16 
05.
Const DOMAIN_JOIN_IF_JOINED   = 32 
06.
Const JOIN_UNSECURE           = 64 
07.
Const MACHINE_PASSWORD_PASSED = 128 
08.
Const DEFERRED_SPN_SET        = 256 
09.
Const INSTALL_INVOCATION      = 262144 
10.
 
11.
Dim intOk, Computer, PC_Adm, PC_PSW, NeueDomaene 
12.
Dim strDomain, strPassword, strUser 
13.
 
14.
strDomain   = Domäne 
15.
strUser     = ADMIN 
16.
strPassword = PAsswort 
17.
 
18.
 
19.
If Right(WScript.FullName, Len(WScript.Fullname) - Len(WScript.Path) -1) = "WScript.exe" Then 
20.
  WScript.CreateObject("WScript.Shell").Run "cmd /t:1F /k cscript //NoLogo " & Chr(34) & WScript.ScriptFullName & Chr(34) 
21.
  WScript.Quit 
22.
End If 
23.
WScript.StdOut.WriteLine String(80, "=") 
24.
WScript.StdOut.WriteLine "(R)ename(R)emote(C)omputer" & vbCrLf 
25.
WScript.StdOut.WriteLine String(80, "=") 
26.
WScript.StdOut.WriteLine "Das Skript wurde am " & now & " gestartet." 
27.
WScript.StdOut.WriteLine  
28.
WScript.StdOut.Write "Computer oder IP-Adresse -> " 
29.
Computer = WScript.StdIn.ReadLine() 
30.
WScript.StdOut.Write "Lokaler Administrator    -> " 
31.
PC_Adm = WScript.StdIn.ReadLine() 
32.
WScript.StdOut.Write "Kennwort                 -> " 
33.
PC_PSW = WScript.StdIn.ReadLine() 
34.
'On Error Resume Next 
35.
Set WMILocator =CreateObject("WbemScripting.SWbemLocator") 
36.
WMILocator.Security_.AuthenticationLevel = 6 
37.
Set WMI = WMILocator.ConnectServer(Computer, "root\cimv2" , PC_Adm, PC_PSW) 
38.
If Err.Number = 0 Then 
39.
 'If((strDomain <> "") or (strUser <> "") or (strPassword <> "")) Then 
40.
 Set ws = WScript.CreateObject("WScript.Shell") 
41.
 
42.
 Set objNetwork = CreateObject("WScript.Network")  
43.
 strComputer = objNetwork.ComputerName 
44.
  
45.
 Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _ 
46.
    strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _ 
47.
        strComputer & "'") 
48.
  
49.
 intOk = objComputer.JoinDomainOrWorkGroup(strDomain, _ 
50.
                                                strPassword, _ 
51.
                                                strDomain & "\" & strUser, _ 
52.
                                                NULL, _ 
53.
                                                JOIN_DOMAIN + ACCT_CREATE) 
54.
 
55.
 If intOk = 0 then 
56.
   wscript.echo SUCCESS, "Join Domain erfolgreich mit: " & strDomain 
57.
  Else 
58.
    wscript.echo ERROR, "Join Domain fehlgeschlagen mit: " & strDomain 
59.
 End If 
60.
 
61.
 ws.Run "shutdown.exe -r -f -t 0 -c ""Windows XP wird neu gestartet""", 1, False 
62.
End IF
Bitte warten ..
Mitglied: bastla
21.02.2007 um 16:15 Uhr
Hallo J3nny1981!

In die Variable "strComputer" wird immer der lokale Computername geschrieben (siehe "strComputer = objNetwork.ComputerName"). Wenn Du stattdessen Deinen eingegebenen Computernamen "Computer" zuweist (oder in der Folge anstelle von "strComputer" nur "Computer" verwendest), hättest Du sicher eine bessere Chance ...

Grüße
bastla
Bitte warten ..
Mitglied: Alfredus
21.02.2007 um 16:24 Uhr
h habs nun so versucht, aber es funktioniert nicht... er führt den reboot und domainänderrung lokal durch....

Ja und? So hast du es ja auch im Skript stehen!

strComputer = objNetwork.ComputerName

mach deine Eingabe des Zielrechners mit dem stdin#read hinfällig. Es wird immer der Rechner genommen auf dem das Skript ausgeführt wird!

ws.Run "shutdown.exe -r -f -t 0 -c ""Windows XP wird neu gestartet""", 1, False

Führt auf dem Rechner auf dem das Skript ausgeführt wird ein Reboot durch.

Mein Tipp: Entweder beherzigst du obige Ratschläge oder nimmst das Skript von Mircofsoft mit der Änderung von Bastla....oder latsch halt zu den PCs und hebe sie in die Domäne...

Gruß
Alfredus
Bitte warten ..
Mitglied: J3nny1981
21.02.2007 um 16:36 Uhr
ok...

"strComputer = objNetwork.ComputerName"

habe ich nun in

"strComputer = Computer " umbenannt


dann meckert er aber bei :

Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
strComputer & "'")
Bitte warten ..
Mitglied: bastla
21.02.2007 um 18:16 Uhr
Hallo J3nny1981!

Da waren die beiden WMI-Zugriffsmethoden vermischt. Ich kann das leider nicht selbst testen und bin daher auf Vermutungen angewiesen - ändere versuchsweise den letzten Teil auf
01.
If Err.Number = 0 Then 
02.
    intOk = WMI.JoinDomainOrWorkGroup(strDomain, _ 
03.
                                                strPassword, _ 
04.
                                                strDomain & "\" & strUser, _ 
05.
                                                NULL, _ 
06.
                                                JOIN_DOMAIN + ACCT_CREATE) 
07.
 
08.
    If intOk = 0 then 
09.
        wscript.echo SUCCESS, "Join Domain erfolgreich mit: " & strDomain 
10.
    Else 
11.
        wscript.echo ERROR, "Join Domain fehlgeschlagen mit: " & strDomain 
12.
    End If 
13.
End If
Den Neustart würde ich momentan hintanstellen bzw zumindest so schreiben:
01.
ws.Run "shutdown.exe -r -f -m \\" & Computer & " -t 0 -c ""Windows XP wird neu gestartet""", 1, False
Grüße
bastla
Bitte warten ..
Mitglied: J3nny1981
26.02.2007 um 12:06 Uhr
Hallo, also ich habe nun mein script weiter verändert, auch mit euren Vorshlägen.
So siehts nun aus. Er meldet sich ohne fehler bei dem remote rechner an. Dann fragt er die Domain ab. Dann kommt die Meldung:

"Join Domain erfolgreich mit: 0
Das Objekt unterstützt diese Eigenschaft oder Methode nicht."

Warum steht da 0 ? Normal sollte er doch die Domain angeben?




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


Dim intOk
Dim strDomain, strPassword, strUser
strDomain = INF-POOL
strUser = Joiner
strPassword = Jackhal


If Right(WScript.FullName, Len(WScript.Fullname) - Len(WScript.Path) -1) = "WScript.exe" Then
WScript.CreateObject("WScript.Shell").Run "cmd /t:1F /k cscript //NoLogo " & Chr(34) & WScript.ScriptFullName & Chr(34)
WScript.Quit
End If
WScript.StdOut.WriteLine String(80, "=")
WScript.StdOut.WriteLine "(R)ename(R)emote(C)omputer" & vbCrLf
WScript.StdOut.WriteLine String(80, "=")
WScript.StdOut.WriteLine "Das Skript wurde am " & now & " gestartet."
WScript.StdOut.WriteLine
WScript.StdOut.Write "Computer oder IP-Adresse -> "
Computer = WScript.StdIn.ReadLine()
WScript.StdOut.Write "Lokaler Administrator -> "
PC_Adm = WScript.StdIn.ReadLine()
WScript.StdOut.Write "Kennwort -> "
PC_PSW = WScript.StdIn.ReadLine()
On Error Resume Next
Set WMILocator =CreateObject("WbemScripting.SWbemLocator")
WMILocator.Security_.AuthenticationLevel = 6
Set WMI = WMILocator.ConnectServer(Computer, "root\cimv2" , PC_Adm, PC_PSW)
If Err.Number = 0 Then
WScript.StdOut.WriteLine
WScript.StdOut.Write "Bitte Domänname angeben -> "
Domaene = WScript.StdIn.ReadLine()
Err.Clear
Set ws = WScript.CreateObject("WScript.Shell")

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

If Err.Number = 0 Then

intOk = WMI.JoinDomainOrWorkGroup(strDomain, _
strPassword, _
strDomain & "\" & strUser, _
NULL, _
JOIN_DOMAIN + ACCT_CREATE)

If intOk = 0 then
wscript.echo SUCCESS, "Join Domain erfolgreich mit: " & strDomain
Else
wscript.echo ERROR, "Join Domain fehlgeschlagen mit: " & strDomain
End If
End If




Dann ahbe ich noch eine frage. In einem Script welches lokal die Domaine ändert steht noch folgendes:

Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
strComputer & "'")


was bewirkt das? Bzw wie kann ich das "umbauen" das es auch mit dem remotescript funktioniert????


Vielen Dank
Jenny
Bitte warten ..
Ähnliche Inhalte
Windows Server

Server lässt sich nicht in Domäne aufnehmen

gelöst Frage von takvorianWindows Server14 Kommentare

Hallo zusammen, in einem Netzwerk mit 1 virtualisierten 2012er R2 DC ( Hyper-V-Host + Virtueller Server al DC ) ...

Windows Server

Exchange Server in Domäne aufnehmen

gelöst Frage von Sirius91Windows Server4 Kommentare

Guten Abend liebe Forengemeinde, ich habe mir zuhause eine private Domäne eingerichtet. Dazu habe ich auf meinem Server Windows ...

Windows Netzwerk

Server für Produktion in Domäne aufnehmen

Frage von NoobOneWindows Netzwerk4 Kommentare

Hallo Zusammen, bei meinem Arbeitgeber werden die aktuellen Server das Lagersystem in der Produktion abgelöst. Aktuell sind es 4 ...

Windows Server

PC per script -aus der Domäne nehmen -in Domäne aufnehmen

gelöst Frage von johanna-pWindows Server2 Kommentare

Hallo, ich benötige : 1.) ein script, das einen PC aus der Domäne xxx in die Arbeitsgruppe yyy übernimmt ...

Neue Wissensbeiträge
Windows Userverwaltung

Passwortwechsel in der Domain bei Anmeldung erzwingen

Anleitung von Looser27 vor 6 StundenWindows Userverwaltung5 Kommentare

Nachdem es immer wieder User geschafft haben, sich während des laufenden Betriebes auszusperren, habe ich nach einer Möglichkeit gesucht, ...

Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 3 TagenAusbildung37 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 5 TagenSpeicherkarten6 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 5 TagenSicherheit1 Kommentar

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Passwortwechsel Zeitpunkt festlegen
gelöst Frage von Looser27Windows Userverwaltung32 Kommentare

Guten Morgen liebe Kolleginnen und Kollegen, da es eine Userin in meinem Urlaub geschafft hat, sich vom AD vollständig ...

Windows Server
Probleme im AD am Außenstandort
gelöst Frage von emeriksWindows Server19 Kommentare

Hi, wir haben ein Problem mit AD und GPO am Außenstandort und ich stehe momentan mächtig auf dem Schlauch. ...

Microsoft
Netzlaufwerksordner Berechtigungen Speichern unter aus Programmen
gelöst Frage von ITler7Microsoft19 Kommentare

Moin, bin in ein neues Unternehmen eingetreten und habe die Anforderung bekommen Berechtigungen auf einige Ordner anzupassen, da bisher ...

Vmware
Sporadischer Ausfall physischer und virtueller Server (VMWare 5.5) im Netzwerk (anpingbar aber sonst ohne Funktion)
Frage von stoey20Vmware14 Kommentare

Hallo Gemeinde, seit ein paar Tagen haben wir in der Firma immer wieder das Problem, dass einige unserer VMWare ...