Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Fehler im Script Methode nicht unterstützt

Frage Entwicklung VB for Applications

Mitglied: JoshuaTree

JoshuaTree (Level 1) - Jetzt verbinden

23.07.2008, aktualisiert 24.07.2008, 5097 Aufrufe, 3 Kommentare

Hallo,

ich versuche mit folgendem Script user aus einer CSV zu erstellen.
So sieht die user.txt aus : MeinUser;start123;Main;User;User, Main;Mainuser.CMD;a00_g_Fil0201

Jetzt läuft alles soweit bis er zu dem Punkt "kontoneu.sn" und sagt die Methode ist nicht unterstützt.
Das gleich Problem hatte ich schon zuvor beim "userprincipalname" daher ist dieser auskommentiert
Kann es sein das der Provider WinNT sn nicht unterstützt?
Bitte schau sich das mal jemand an, Danke

Gruss
Andreas

*

msg = "Kurzbeschreibung:" & vbCr & "Dieses Skript legt automatisiert neue Konten an und liest die dafür nötigen Angaben aus c:\test\user.txt ." & vbCr & vbCr & "Skript jetzt ausführen?"
antwort = MsgBox(msg, vbYesNo + vbQuestion)
if antwort = vbNo then
MsgBox "Abbruch", vbExclamation
WScript.Quit
end if
protokoll = "c:\temp\protokoll.txt"

' Das WScript.Network-Objekt liefert den Namen des Computers,
' der als Vorgabe angeboten wird
'SYS: Windows Script Host Runtime Library
Set net = CreateObject("WScript.Network")

ComputerName = InputBox("Bitte geben Sie den Computernamen ein!",,net.ComputerName)
On Error Resume Next
Set computer = GetObject("WinNT://" & ComputerName & ",computer")
If Err.number = 0 Then
MsgBox "Verbindung hergestellt."
Else
MsgBox "Keine Verbindung zu " & ComputerName
WScript.Quit
End If
On Error Goto 0

dateiname = InputBox("Wo liegen die Kontoinformationen?",,"c:\temp\user.txt")

' Datei öffnen
'SYS: Microsoft (r) Script Runtime
Set fs = CreateObject("Scripting.FileSystemObject")
If Not fs.FileExists(dateiname) Then
MsgBox "Die Datei existiert am angegebenen Ort nicht!"
WScript.Quit
End If

Set infos = fs.OpenTextFile(dateiname)

' Protokolldatei öffnen
Set output = fs.CreateTextFile(protokoll, True)

' Datei zeilenweise bis zum Ende (atEndOfStream) lesen:
Do Until infos.AtEndOfStream
' eine Zeile einlesen
zeile = infos.ReadLine

' Informationen durch Semikola splitten
details = Split(zeile, ";")

' Konto anlegen
Set kontoneu = computer.Create("User", Trim(details(0)))
kontoneu.setpassword Trim(details(1))
'kontoneu.userprincipalname = Trim(details(2))
kontoneu.sn = Trim(details(2))
kontoneu.givenname = Trim(details(3))
kontoneu.displayname = Trim(details(4))
kontoneu.scriptpath = Trim(details(5))
kontoneu.userhome = Trim(details(6))



On Error Resume Next
kontoneu.SetInfo
If Err.number = 0 Then
WriteLog details(0) & " angelegt."
AddToGroup Trim(details(7)), kontoneu.ADsPath
Else
WriteLog details(0) & " konnte nicht angelegt werden!"
End If
Err.Clear
On Error Goto 0
Loop

' Dateien schließen
infos.Close
output.Close

' Protokoll anzeigen:
'SYS: Microsoft (r) Script Runtime
Set wshshell = CreateObject("WScript.Shell")
wshshell.Run """" & protokoll & """"


Sub AddToGroup(gruppenname, kontoname)
On Error Resume Next
Set gruppe = GetObject("WinNT://" & ComputerName & "/" & gruppenname & ",group")
gruppe.Add kontoname
gruppe.SetInfo
If Err.number = 0 Then
WriteLog "Konto ist Mitglied in Gruppe " & gruppenname
Else
WriteLog "Konto konnte nicht zum Mitglied in Gruppe " & gruppenname & " gemacht werden."
End If
Err.Clear
End Sub

Sub WriteLog(text)
' eine Zeile ins Protokoll schreiben
output.WriteLine text
End Sub

***
Mitglied: bastla
23.07.2008 um 17:11 Uhr
Hallo JoshuaTree!

Kann es sein das der Provider WinNT sn nicht unterstützt?
Problem erkannt - siehe NameAttributes unter WinNT vs LDAP.

Und wenn Du schon einmal dort bist: unter AD Attributes findest Du einige (Excel-)Tabellen zum Download ...

Grüße
bastla
Bitte warten ..
Mitglied: JoshuaTree
24.07.2008 um 09:26 Uhr
Hi,

dachte mir schon sowas.

Jetzt habe ich das Bind so gemacht
Set computer = GetObject("LDAP://"& ComputerName &"/dc=domäne,dc=corp")

Jetzt meckert er rum das mit der DN in Zeile 54 was nicht stimmt
vermute es geht dabei um das --->computer.Create("User", Trim(details(0))).

Oh man ich bin echt zu doof für dieses Zeug, was könnte ihm denn
jetzt wieder nicht passen. Bekomme jetzt langsam Zeitdruck das
ist nich förderlich. Bin für jede hilfe dankbar
Bitte warten ..
Mitglied: bastla
24.07.2008 um 09:37 Uhr
Hallo JoshuaTree!

Falls, wie anzunehmen, in der Variable "ComputerName" einfach der Name des Rechners steht, müsste die Zeile etwa so aussehen:
01.
Set computer = GetObject("LDAP://cn="& ComputerName & ",cn=Computers,dc=domäne,dc=corp")
bzw, wenn der Computer in einer OU zu finden ist:
01.
Set computer = GetObject("LDAP://cn="& ComputerName & ",ou=DeineOU,dc=domäne,dc=corp")
Hier kannst Du übrigens den "Softerra LDAP Browser" als Freeware herunterladen - der sollte beim Finden der richtigen Pfade helfen ...

Grüße
bastla

[Edit] Fehlende Kommata nachgetragen [/Edit]
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Windows 10
Windows 10 Home "Netzlaufwerk nicht bereit" (17)

Frage von Oggy01 zum Thema Windows 10 ...

Exchange Server
Exchange Postfach leeren - nicht löschen (10)

Frage von AndreasOC zum Thema Exchange Server ...