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, 4277 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 Tools
WSH - Dateien umbennnen
gelöst Frage von peter58haWindows Tools10 Kommentare

Hallo zusammen, ich bin absoluter Neuling in Sachen WSH und benötige eure Hilfe bei einem Script, welches Dateien umbenennt. ...

Microsoft Office
Microsoft Excel VBS
gelöst Frage von Mohji32Microsoft Office6 Kommentare

Guten Tag liebe Leute, ich kenne mich leider nicht sehr gut mit VBS aus aber habe angefangen mich einzuarbeiten. ...

VB for Applications
Excel VBS Datenvergleich
Frage von rocco61VB for Applications

Hallo zusammen, möchte ein Excel Makro in VB, das mit die Gleichheit von 2 Zellen in einer Meldung ausgibt. ...

VB for Applications
Vbs Script Hilfe
gelöst Frage von Dr.CornwallisVB for Applications3 Kommentare

Liebe Gemeinde, hat von euch zufällig jemand ein VBs Script das folgendes o.ä macht: Das Script wird per GPO ...

Neue Wissensbeiträge
Humor (lol)
Und wie seid Ihr gegen Cyberattacken gewappnet?
Information von DerWoWusste vor 20 StundenHumor (lol)5 Kommentare

aber wo ist der Hammer? :-)

Sicherheit
Ein weiterer Microsoft-Stirnklatscher
Information von DerWoWusste vor 1 TagSicherheit7 Kommentare

Habe gerade einen Artikel zu einem Sicherheitsproblem gefunden, welches mir zu seiner Zeit (gepatcht 2015) wohl durchgerutscht ist. Es ...

Windows 10
Upgradepfade Windows 10 LTSC
Erfahrungsbericht von Datenreise vor 1 TagWindows 10

Nur eine kurze Info, für diejenigen, die es interessiert, da es hierzu im Netz aus nachvollziehbaren Gründen nicht allzu ...

Administrator.de Feedback
Wartungsarbeiten heute Nacht (Update)
Information von Frank vor 2 TagenAdministrator.de Feedback10 Kommentare

Hallo User, durch Umbauarbeiten in unserem Rechenzentrum (am Backbone) kann es heute Nacht (14-15.01.2019) zu kurzen Ausfällen unserer Seite ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 - kein Boot mehr nach Domänenaustritt
gelöst Frage von Ghost108Windows 1025 Kommentare

Hallo zusammen, habe hier eine Windows 10 Maschine, die ich gerne aus der Domäne austreten lassen möchte. Nach Austritt ...

Windows 10
Windows 10 1803 - nicht identifiziertes Netzwerk - kein Login an Domäne möglich
Frage von Tomy389Windows 1022 Kommentare

Hallo Zusammen, ich hoffe zu dem Thema gibt es nicht schon einen Thread aber ich sollte eigentlich schon alles ...

Exchange Server
Microsoft Exchange Ser ver 2016 CU 8 auf den neuesten Stand bringen
gelöst Frage von Hendrik2586Exchange Server20 Kommentare

Hallo an euch alle. :) Kurze Frage. Ich habe hier einen Exchange Server wie o.g. Problem ist das wir ...

Microsoft
SFirm 4.0 auf Terminalserver startet für jeden angemeldeten Benutzer diverse Dienste
Frage von Frank84Microsoft18 Kommentare

Hallo zusammen, wir verwenden Sfirm 4.0 auf einem Terminalserver (der SQL Server ist auf einem separaten Server), das Problem ...