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

Geschrieben

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

Geschrieben

Hi,

 

fehlt eventuell das FileSystem Object ?

 

'Text Datei oeffnen

Set fs = CreateObject("Scripting.FileSystemObject")

set f = fs.OpenTextFile ("c:\pcs.txt")

 

und die anderen PCs müssen via NetBios erreichbar sein.

 

thorgood

  • 1 Jahr später...
Geschrieben

hat das geklappt? bin nämlich auch auf der suche user auf mehreren server zu importieren die nur in einer workgroup und nicht in einer domäne sind.

 

auf allen servern soll der gleiche user lokal als admin eingetragen werden...

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

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...