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
GELÖST

Im AD (w2k3) mehrere User unter Berücksichtigung der Namen ändern

Frage Microsoft Windows Server

Mitglied: HisSickness

HisSickness (Level 1) - Jetzt verbinden

17.09.2007, aktualisiert 21.09.2007, 4320 Aufrufe, 5 Kommentare

Hallo Leute!

Ich würde gerne bei vielen User-Profilen den Eintrag "Connect" wegen eines Serverwechsels ändern, wobei die User sich dabei mit einem Ordner (Netzlaufwerk) verbinden der wie folgt ausschaut: "....\Nachname Vorname"
Die Platzhalter die - soviel ich weiß - im AD dafür stehen (LastName, Firstname) funktionieren scheinbar in dieser Hinsicht nicht wie zb. "...\%UserName%" das dann den Usernamen da hineinschreibt.
Für mich wäre es auch ok im Profil den eintrag "Connect" bei allen zu löschen und via eines Anmeldescripts mit den Ordnern zu verbinden. Habe das auch schon versucht nur auch da habe ich es nicht geschafft dass er das LastName FirstName annimmt.
Kenne mich diesbezüglich leider nicht sehr gut aus, würde mich also sehr über Ratschläge freuen...
Danke schon mal im Vorhinein!

Grüße!
HisSickness
Mitglied: Logan000
17.09.2007 um 12:57 Uhr
Das solte Dir weiterhelfen:

01.
Domain= "MyDomain" 
02.
DomSuffix= "de" 
03.
strUserName = "" 
04.
strFirstname= "" 
05.
strLastname ="" 
06.
 
07.
Set WshNetwork = Wscript.CreateObject("Wscript.Network") 
08.
strUserName = LCase(WshNetwork.Username) 
09.
 
10.
'WScript.Echo strUserName 
11.
 
12.
Set objConnection = CreateObject("ADODB.Connection") 
13.
objConnection.Open "Provider=ADsDSOObject;" 
14.
  
15.
Set objCommand = CreateObject("ADODB.Command") 
16.
objCommand.ActiveConnection = objConnection 
17.
objCommand.CommandText = _ 
18.
    "<LDAP://dc=" & Domain & ",dc=" & DomSuffix & ">;(&(objectCategory=User)" & _ 
19.
         "(samAccountName=" & strUserName & "));samAccountName,givenName,sn;subtree" 
20.
   
21.
Set objRecordSet = objCommand.Execute 
22.
If objRecordset.RecordCount = 0 Then 
23.
    WScript.Echo "sAMAccountName: " & strUserName & " does not exist." 
24.
Else 
25.
    'WScript.Echo strUserName & " exists." 
26.
	'WScript.Echo objRecordset.fields.count 
27.
	'WScript.Echo objRecordset.fields(1).value 
28.
	strFirstname = objRecordset.fields(1).value 
29.
	'WScript.Echo objRecordset.fields(2).value 
30.
	strLastname = objRecordset.fields(2).value 
31.
End If 
32.
objConnection.Close 
33.
 
34.
WScript.Echo  strFirstname & " " &  strLastname
Bitte warten ..
Mitglied: HisSickness
18.09.2007 um 14:22 Uhr
Hallo Logan,

danke für die Hilfe das funktioniert sehr gut..

Ich habe da jetzt versucht ein Script anzuhängen das das alte Netzlaufwerk trennt und dann das neue verbindet.
Wenn ich nicht versuche das Alte zu trennen, dann führt er das Script korrekt aus sofern nicht noch eines mit dem Buchstaben existiert. Wenn ich aber versuche zu trennen und es existiert keines dann bekomme ich eine Fehlermeldung und das Skript stoppt.

01.
Domain= "meine domain" 
02.
DomSuffix= "at" 
03.
strUserName = "" 
04.
strFirstname= "" 
05.
strLastname ="" 
06.
 
07.
Set WshNetwork = Wscript.CreateObject("Wscript.Network") 
08.
strUserName = LCase(WshNetwork.Username) 
09.
 
10.
'WScript.Echo strUserName 
11.
 
12.
Set objConnection = CreateObject("ADODB.Connection") 
13.
objConnection.Open "Provider=ADsDSOObject;" 
14.
  
15.
Set objCommand = CreateObject("ADODB.Command") 
16.
objCommand.ActiveConnection = objConnection 
17.
objCommand.CommandText = _ 
18.
    "<LDAP://dc=" & Domain & ",dc=" & DomSuffix & ">;(&(objectCategory=User)" & _ 
19.
         "(samAccountName=" & strUserName & "));samAccountName,givenName,sn;subtree" 
20.
   
21.
Set objRecordSet = objCommand.Execute 
22.
If objRecordset.RecordCount = 0 Then 
23.
    WScript.Echo "sAMAccountName: " & strUserName & " does not exist." 
24.
Else 
25.
    'WScript.Echo strUserName & " exists." 
26.
	'WScript.Echo objRecordset.fields.count 
27.
	'WScript.Echo objRecordset.fields(1).value 
28.
	strFirstname = objRecordset.fields(1).value 
29.
	'WScript.Echo objRecordset.fields(2).value 
30.
	strLastname = objRecordset.fields(2).value 
31.
End If 
32.
objConnection.Close 
33.
 
34.
WScript.Echo  strFirstname & " " &  strLastname 
35.
 
36.
strFileSRV = "meinserver" 
37.
Set WshNetwork = Wscript.CreateObject("Wscript.Network") 
38.
Set objShell = CreateObject("Shell.Application") 
39.
------hier will ich trennen und habe 2 möglichkeiten versucht die ich weiter unten poste..------- 
40.
WshNetwork.MapNetworkDrive "X:", "\\" & strFileSRV & "\jugendliche\Delta\" & strLastname & " " & strFirstname
Erster Trennversuch:
01.
WshNetwork.RemoveNetworkDrive "X:"
Dabei schreibt er mir einfach dass das Laufwerk nicht existiert..(wobei er natürlich recht hat, aber ich will dass er das ignoriert falls keines besteht und einfach fortfährt anstatt abzubrechen)

Alternativer Trennversuch:
01.
Set WshShell = WScript.CreateObject("WScript.Shell") 
02.
Return = WshShell.Run("net use X: /d /y", 0, True) 
03.
Set WshShell = Nothing 
Dieser funktioniert wenn ich das Script lokal ausführe, aber als Logon-Script schreibt er mir folgende Fehlermeldung und bricht auch ab:
zeile: 41
zeichen: 1
fehler: 0x8007FFFF
code: 8007FFFF
quelle: (null)


Desweiteren wollte ich dieses Netzlaufwerk noch umbenennen mit folgendem Code am Schluss:
01.
objShell.NameSpace("P:").Self.Name = "Jugendliche"
Dabei bekomme ich folgende Fehlermeldung:
Fehler: Objekt erforderlich: 'objShell.NameSpace(...)'
Code: 800A01A8
Quelle: Laufzeitfehler in Microsoft VBScript


Wie sicher unschwer zu erkennen habe ich absolut keine Ahnung von VBS und habe einfach versucht fremde Codes zusammen zu schnippseln. Ist fast gelungen, aber leider nur fast deswegen bitte ich nochmal um Hilfe ;)

Danke!
HisSickness
Bitte warten ..
Mitglied: Logan000
18.09.2007 um 15:18 Uhr
Dabei schreibt er mir einfach dass das Laufwerk nicht existiert..(wobei er
natürlich recht hat, aber ich will dass er das ignoriert falls keines besteht und
einfach fortfährt anstatt abzubrechen)

Setze ein
01.
on error resume next 
davor.

Solte es nicht heißen:
01.
WshNetwork.NameSpace("P:").Self.Name = "Jugendliche"
Bitte warten ..
Mitglied: HisSickness
20.09.2007 um 15:00 Uhr
Funktioniert soweit gut danke!
Nur das mit dem umbenennen noch nicht..
Solte es nicht heißen:
01.
> WshNetwork.NameSpace("P:").Self.Name 
02.
> = "Jugendliche"

scheinbar nicht.. hier schreibt er:

Fehler: Das Objekt unterstützt diese Eigenschaft oder Methode nicht.: 'WshNetwork.NameSpace'
Bitte warten ..
Mitglied: Logan000
21.09.2007 um 08:37 Uhr
Stimmt mein Fehler. So wäre es richtig.
01.
Set objShell = CreateObject("Shell.Application") 
02.
objShell.NameSpace("X:").Self.Name = "NeuerName"
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst AD-Felder für User mittels Powershell befüllen aus CSV-Datei (2)

Frage von Alex94G zum Thema Batch & Shell ...

Windows Server
gelöst Mehrere User auf einem 2012-Server teilen sich eine MS-Office-Lizenz? (7)

Frage von Calvus zum Thema Windows Server ...

Batch & Shell
Mehrere AD Benutzer aus CSV Datei mit PowerShell erstellen (1)

Frage von windelterrorist zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...