Jump to content

lokalen User Remote anlegen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

 

habe mir hier ein kleines Script gemacht, welches auf mehreren PCs (W2K) den gleichen User lokal anlegen soll. Die PCs sind in einer Arbeitsgruppe, deshalb soll der User lokal angelegt werden. Wenn ich das Script ausführe und die PCs hier in der Abteilung (gleiche Arbeitsgruppe) den User anlegen lasse, funktioniert das. Führe ich das Script aus und gebe die PCs der Anwender an, geht es nicht. Hat vielleicht jemand eine Idee?

 

Hier das Script:

 

' Erstellen eines neuen Benutzers in Windows auf 
' mehreren PCs - lockal
'************************************************
On Error Resume Next


DIM WshShell, objDomain, objUser, ogroup
DIM name, fullname, descript, passw, tmp, group, txtpc, server
DIM datime
Const UF_DONT_EXPIRE_PASSWD = &H10000
Const UF_PASSWORD_CANT_CHANGE = &H40

datime = "[" & date & " " & time & "] "
name = "user-x"
fullname = "user-x"
descript = "zusaetzlicher Benutzer auf PC"
group = "Benutzer"

Set WshShell = WScript.CreateObject("WScript.Shell")

'Text Datei oeffnen 
set f = fs.OpenTextFile ("c:\pcs.txt")

'Start Einlesen aller pcs aus datei
Do While not f.AtEndOfLine

txtpc = f.ReadLine
server = "//" & txtpc
tmp = 0
passw = "xyz0815"

Set objDomain = GetObject("WinNT:" & server)

' erstellen des Benutzers und setzen der Parameter
Set objUser = objDomain.Create("user", name)
objUser.Description = descript
objUser.FullName = fullname
objuser.SetPassword passw

objUser.PasswordExpired = 0
tmp = tmp XOR UF_PASSWORD_CANT_CHANGE
tmp = tmp XOR UF_DONT_EXPIRE_PASSWD
objuser.Put "UserFlags", tmp

objUser.SetInfo

Set ogroup = GetObject("WinNT:" & server & "/" & group)
ogroup.Add "WinNT:" & server & "/" & name

If err.number = 0 Then ' Success?
' Benutzer erstellen war erfolgreich, schreibe dies in eine Datei
	AddLog datime & "User " & user & " created on " & server

Else ' some problem ###
	If err.number = -2147022672 then
' Benutzer existiert bereits, schreibe einen error - satz ins logfile
		AddLog datime & "*** Error: User " & name & " already exists on " & server
	Else
' ein anderer Fehler ist aufgetreten, schreibe Satz in logfile
		AddLog datime & "*** Error: " & err.number & _
		" could not create user " & name & " on " & server
	End if
End if

' Felder zurueck setzen
Set objUser = Nothing
Set ogroup = Nothing
Set objDomain = Nothing
Err.Clear

loop

'Close all open files
successpc.close
f.close

'#### Helpers #####
Sub AddLog (txt)
' Schreibe einen satz ins logfile
Const file1 = "C:\NewUserLog.txt" ' Log datei name
Const ForAppending = 8 ' Append mode
Dim fso, fi ' object variable
' Erstelle ein FileSystemObject object 
Set fso = CreateObject("Scripting.FileSystemObject")

' oeffne datei, erstelle datei, wenn noch nicht vorhanden
Set fi = fso.OpenTextFile(file1, ForAppending, true)

fi.WriteLine (txt) ' an datei anhaengen
Set fi = Nothing
End Sub

Link zu diesem Kommentar
  • 1 Jahr später...
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...