Archiv des Tags “VBS”

Script zum Konfigurieren der Automatischen Windows-Anmeldung

27. März 2008, 22:50 Uhr

Bei Windows ist es möglich, dass sich nach dem Hochfahren des PCs automatisch ein Benutzer anmeldet. Wenn sich der Rechner in einer Arbeitsgruppe befindet, kann man dies über ein Fenster einstellen. An das entsprechende Fenster gelangt man über folgende Befehle: control userpasswords (Windows 2000), control userpasswords2 (Windows XP/2003/Vista) und netplwiz (Windows Vista). Einfach den Haken bei “Benutzer müssen Benutzernamen und Kennwort eingeben” entfernen und “Übernehmen” klicken. Im erscheinenden Dialog “Automatische Anmeldung” muss man jetzt nur noch den Benutzernamen angeben und das Kennwort bestätigen.

Wenn der Computer allerdings Mitglied in einer Dömäne ist, funktioniert der Weg leider nicht! Hier muss man den direkten Weg über die Registry gehen. Die Werte müssen als Zeichenkette unter folgenden Schlüssel angelegt werden:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

  • AutoAdminLogon = 1
  • DefaultDomainName = Domänenname
  • DefaultUserName = Benutzername
  • DefaultPassword = Kennwort

Und da wir es bei ein paar Rechnern einstellen mussten, habe ich ein VBScript geschrieben, dass die Werte abfragt und einträgt. (Bei leeren Werte wird die automatischen Anmeldung übrigens deaktiviert.)

Weiterlesen…

Terminalserververbindungen per VBScript freischalten (Win2003)

6. März 2008, 22:53 Uhr

Wir hatten seit letzter Woche das Problem, dass wir uns auf einen Windows 2003-Server nicht mehr per Remotedesktop einwählen konnten und immer folgende Fehlermeldung bekamen:

Remotedesktop getrennt

Dieser Computer kann keine Verbindung mit dem Remotecomputer herstellen.

Wiederholen Sie den Verbindungsversuch. Wenn das Problem weiterhin besteht, wenden Sie sich an den Besitzer des Remotecomputers oder an den Netzwerkadministrator.

Alle anderen Dienste auf dem Server liefen zum Glück aber einwandfrei. Da der Rechner an einem anderen Standort steht, konnte wir nicht einfach lokal nachschauen und wollten das Problem aus der Entfernung lösen.
Aber wir haben erst mal keine Ursache für das Problem finden können. Netzwerkmäßig war alles in Ordnung, der Dienst lief, die Firewall blockierte nichts und es gab keine auffälligen Einträge in der Ereignisanzeige.

Irgendwann fiel uns auf, das in der Terminaldiensteverwaltung der Eintrag RDP-Tcp (Überwachnungsthread) für diesen Server fehlte. Normalerweise scheint man diese Verbindung über die Terminaldienstekonfiguration zu konfigurieren, aber leider kann man das Programm wohl nur lokal ausführen und mit keinem Remotecomputer verbinden.

Ich habe mich deshalb auf die Suche gemacht, wie man die Terminaldienste per VBScript auslesen und anpassen kann. Einstellen kann man ne Menge, aber es hat ne Weile gedauert, bis ich die richtige Einstellung gefunden habe. Fündig wurde ich auf der englischen Hey, Scripting Guy! Seite von Microsoft:

How Can I Determine Whether Terminal Services is Enabled on a Windows Server 2003 Computer?

Folgendes Script schaltet die Terminalserververbindungen auf einem Computer frei (einfach die Variable strComputer anpassen):

strComputer = "."

Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_TerminalServiceSetting")

For Each objItem in colItems
  objItem.SetAllowTSConnections(1)
Next

Lokale Windows-Benutzerprofile migrieren

4. Dezember 2007, 22:42 Uhr

Auf der Arbeit sind wir gerade dabei, von einer NT4-Domäne (von Samba bereitgestellt) zu einer Active Directory-Domäne zu wechseln. Natürlich müssen auch alle Clients umgestellt werden und die lokalen Windows-Benutzerprofile migriert werden, damit die Anwender ihre gewohnten Umgebung behalten und keine Daten verloren gehen.

Microsoft stellt dazu das Befehlszeilenprogramm moveuser.exe zur Verfügung, womit man ein lokales Profil einem anderen Benutzer zuweisen kann. Um uns die Arbeit zu erleichtern, habe ich ein kleines VBScript geschrieben, was auf einem Client sämtliche Benutzerprofile der alten Domäne den Benutzern in der neuen Domäne zuordnet. Profile vom Benutzer Administrator klammert das Script allerdings aus.

Weiterlesen…