Top-Themen

Aktuelle Themen (A bis Z)

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 Laufwerksmapping aller Freigegebenen Ordner einer OU mit vbScript

Mitglied: mhard666

mhard666 (Level 1) - Jetzt verbinden

24.09.2009, aktualisiert 14:15 Uhr, 4199 Aufrufe, 4 Kommentare

Ich möchte im Loginscript alle Freigegebenen Ordner einer OU mappen. Das ganze soll in vbScript realisiert werden.

Hallo allerseits.

Ich stehe vor dem o.g. Problem. Bin leider mit Googlen und suchen hier im Forum nicht weiter gekommen.

Ich habe im AD unterhalb einer OU die jeweiligen Benutzer und Ordnerfreigaben angelegt. Bei den Ordnerfreigaben in den Schlüsselwörtern sind die Laufwerksbuchstaben (können ggf. auch mehrere sein) hinterlegt.
Jetzt soll, wenn sich der Benutzer anmeldet, geprüft werden in welcher OU er angelegt wurde. Anschließend sollen alle Ordnerfreigaben der OU gemappt werden. Vorzugsweise sollen die Laufwerksbuchstaben aus den Schlüsselwörtern der Ordnerfreigabe (im AD) gelesen werden - wenn mehrere hinterlegt sind, sollte dann die Freigabe entsprechend als mehrere Laufwerke eingebunden werden (finde ich praktisch - wenn es einen guten Grund für eine andere Lösung gibt bin ich ganz Ohr (oder Auge ).

Bin leider nicht so der Crack in vbScript. Bin daher für jeden Lösungsansatz oder Codeschnipsel dankbar.

Falls es eine Lösung in KIXtart gibt, wäre mir das fast noch lieber.

mfG mhard666
Mitglied: Ametrin
28.09.2009 um 21:04 Uhr
Hallo!

Wenn ich Sie richtig verstanden habe sieht Ihre AD Stucktur ungefähr so aus:

root
---->UO1
------> BeuntzerA
------> BenutzerB
------>FreigabeNameA

---->UO2
------> BeuntzerC
------> BenutzerD
------>FreigabeNameB
------>FeigabenNameC

und Sie wollen jetzt Abhänging vom Benutzer in dessen übergeordneter UO nach beinhalteten Freigabe Namen suchen und dies je nach Laufwerksbuchstabe mappen?

mfg Ametrin
Bitte warten ..
Mitglied: mhard666
30.09.2009 um 16:39 Uhr
genau so schaut's aus.

Mittlerweile habe ich schon ein gutes Stück Code zusammengeschrieben. Ich setz es mal hier rein - vielleicht kann ja jemand was mit anfangen oder hat noch die eine oder andere Idee...


' Region Description 
' Name:			userloginscript.vbs 
' Author:		Mirko Härtwig 
' Version:		v0.1 
' Description:	Userloginscript,  
'				- ermittelt die OU des angemeldeten Users,  
'				- mountet die In der OU eingetragenen Verzeichnisfreigaben 
' 				- bereits gemountete Laufwerke werden dismountet 
'               - mappt die in der OU eingetragenen Drucker (enthält die Beschreibung den String "Default"  
'                 wird der Drucker als Standarddrucker verwendet, der bisherige Standarddrucker wird dadurch überschrieben)  
' ToDo:         - Verknüpfungen kopieren 
'               - Scriptinventory beim ersten Start in der Woche ausführen 
'               - prüfen ob lokaler Drucker existiert, dann keinen Netzwerkdrucker als Standart setzen ??????  
'                 * Option: Prüfen ob Drucker in einer Liste/Array existiert 
'  
' EndRegion 
 
Option Explicit 
 
Dim objNetwork 
Dim objADSysInfo 
Dim objUser					' User 
Dim objOU					' OrgUnit 
Dim objV					' Volume 
Dim objKey					' Keywords (Array) 
Dim objPq					' PrintQueue 
Dim objPdescr				' Printer Description 
 
Dim defprt					' Default Printer (True/False) 
 
  Set objNetwork = WScript.CreateObject( "WScript.Network" ) 
  Set objADSysInfo = CreateObject("ADSystemInfo") 
  Set objUser = GetObject("LDAP://" & objADSysInfo.UserName) 
  Set objOU = GetObject(objUser.parent) 
 
  ' === Ausgabe diverser Angaben ============================================= 
  WScript.Echo "Username: ............... " + objNetwork.userName 
  WScript.Echo "Domänenname: ............ " + objNetwork.userDomain 
  WScript.Echo "Organisationseinheit: ... " + objOU.Name 
  WScript.Echo "Computername: ........... " + objNetwork.ComputerName 
  WScript.Echo "Clientname: ............. "  
  WScript.Echo "Sitename: ............... " + objADSysInfo.SiteName 
  WScript.Echo "Anmeldeserver: .......... "  
 
  ' === Alle Verzeichnisfreigaben der OU mounten 
  objOU.Filter = Array("volume") 
  For Each objV In objOU 
	For Each objKey In objV.keywords 
		MapNetworkShare objKey, objV.uNCName 
	Next 
  Next 
 
  objOU.Filter = Array("printqueue") 
  For Each objPq In objOU 
	defprt = False 
	If InStr(UCase(objPq.description), UCase("Default")) <> 0 Then defprt = True 
	 
	MapPrinter objPq.printerpath, defprt 
  Next 
 
 
'Region Subroutines 
 
Sub MapNetworkShare(LocalDrive, NetworkPath) 
' Author:		Mirko Härtwig 
' Description:	Mappt eine Netzwerkfreigabe auf ein spezielles Laufwerk. Ggf. vorhandene Mappings 
'				auf dieses Laufwerk werden vorher entfernt 
 
Dim objNetwork 
 
	Set objNetwork = WScript.CreateObject("WScript.Network") 
	On Error Resume Next 
 
	objNetwork.RemoveNetworkDrive LocalDrive, True, True 
	If Err.Number <> 0 Then WScript.Echo "Can not remove Networkdrive """ & LocalDrive & """ " & _ 
	Chr(13) & Chr(10) & "Reason: " & Err.Description 
	 
	objNetwork.MapNetworkDrive LocalDrive, NetworkPath 
	If Err.Number <> 0 Then  
		WScript.Echo "Can not map path """ & NetworkPath & """ to drive """ & LocalDrive & """." & _ 
		Chr(13) & Chr(10) & "Reason: " & Err.Description 
	Else 
	    WScript.Echo "Connect network share """ & NetworkPath & """ to drive """ & LocalDrive & """." 
	End If 
	 
 
End Sub 
 
Sub MapPrinter(PrinterPath, DefaultPrinter) 
'	 
' Author:		Mirko Härtwig 
' Description:	Mappt einen Drucker. Ggf vorhandene Mappings werden vorher nicht entfernt 
 
Dim objNetwork 
 
	Set objNetwork = WScript.CreateObject("WScript.Network") 
	On Error Resume Next 
	 
	objNetwork.AddWindowsPrinterConnection PrinterPath 
	If Err.Number <> 0 Then  
		WScript.Echo "Can not add Printer Connection """ & PrinterPath & """ " & _ 
		Chr(13) & Chr(10) & "Reason: " & Err.Description 
	Else 
		WScript.Echo "Add Printer Connection """ & PrinterPath & """." 
	End If 
	 
	If DefaultPrinter Then  
		objNetwork.SetDefaultPrinter PrinterPath 
 
		If Err.Number <> 0 Then  
			WScript.Echo "Can not set """ & PrinterPath & """ as default Printer." & _ 
			Chr(13) & Chr(10) & "Reason: " & Err.Description 
		Else 
			WScript.Echo "Set Printer Connection """ & PrinterPath & """ as default Printer." 
		End If 
	End If 
 
 
End Sub 
 
'EndRegion 
Bitte warten ..
Mitglied: Ametrin
30.09.2009 um 18:39 Uhr
Hmm ich weiß nicht wie man diesen Blau weißen Text macht.
Habe 2 Vorschläge für dich

1.) Wenn du mit Windows Server 2008 arbeitest funktionieren dir GPO Preferenzes ganz gut, ansonnsten würde ich dir empfehlen einfach Gruppen zu machen die der User(in) dann erhält. Auf die Art kann man dann bequem Freigaben oder Drucker adden die in einer anderen UO sind.
2.) Wenn du keine GPO Preferences einsetzen kannst oder willst dann hier ein Auszug eines simplen Logonscripts (simpel deswegen da keine Fehlerabfrage )
01.
 Set wshShell = CreateObject("WScript.Shell") 
02.
Set wshNetwork = CreateObject("WScript.Network") 
03.
Set colDrives = wshNetwork.EnumNetworkDrives 
04.
 
05.
Set objDomain = getObject("LDAP://rootDse") 
06.
DomainString = objDomain.Get("dnsHostName") 
07.
UserString = wshNetwork.UserName 
08.
Set UserObj = GetObject("WinNT://" & DomainString & "/" & UserString) 
09.
 
10.
On Error Resume Next 
11.
'---------------------Drucker & Laufwerke löschen------------------------------------ 
12.
For i = 0 to colDrives.Count-1 Step 2 
13.
    wshNetwork.RemoveNetworkDrive colDrives.Item(i) 
14.
Next 
15.
 
16.
'---------------------------Die nächsten 5Zeilen sind nicht von mir-------------------- 
17.
Set wshNet = CreateObject("WScript.Network") 
18.
Set wshPrn = wshNet.EnumPrinterConnections 
19.
For x = 0 To wshPrn.Count - 1 Step 2 
20.
If Left(wshPrn.Item(x+1),2) = "\\" Then wshNet.RemovePrinterConnection wshPrn.Item(x+1),True,True 
21.
Next 
22.
 
23.
'----------------------Gruppen Laufwerke & Drucker----------------------------------- 
24.
 
25.
For Each GroupObj In UserObj.Groups 
26.
Select Case GroupObj.Name 
27.
 
28.
case "Freigabe1"			 
29.
	ret = WSHNetwork.RemoveNetworkDrive("V:", True, True) 
30.
	ret = WSHNetwork.MapNetworkDrive("V:", "\\SERVER\SHARENAME", False)  
31.
	objShell.NameSpace("V:").Self.Name = "ARBEITSLAUFWERK" 
32.
case "Drucker1"			 
33.
	wshNetwork.AddWindowsPrinterConnection "\\SERVER\PRINTERSHARENAME",True 
34.
 
35.
End Select 
36.
Next
Bitte warten ..
Mitglied: mhard666
01.10.2009 um 15:42 Uhr
Bezüglich der Code-Formatierung siehe Formatierungshilfe

Über die Zuordnung durch Gruppenmitgliedschaften hab ich auch schon nachgedacht, hat beides seine Vor- und Nachteile. Ich bin letztenendes bei den OUs geblieben, weil ab einer gewissen Größe nicht mehr so gut nachvollziehbar ist welcher User Mitglied in welchen Gruppen ist und demzufolge irgendwelche Laufwerke oder Drucker gemappt bekommt. Da finde ich eine Grafische Darstellung wie in der AD Computer und Benutzerverwaltung schon hilfreich. Außerdem sollen Co-Admins, die Verzeichnisse mappen müssen nicht in meinem Script rumschreiben müssen. Und schlussendlich muss es ja für irgendetwas gut sein, dass ich in den OUs Verzeichnis- und Druckerfreigaben hinterlegen kann Dafür nehme ich sogar den ggf. höheren Planungsaufwand in Kauf.

mfg. mhard666
Bitte warten ..
Ähnliche Inhalte
Windows Server
Laufwerksmapping
Frage von Bruno196Windows Server3 Kommentare

Hallo, unsere Laufwerke werden über die GPO Preferences zugewiesen. Nun wurde eines unsere Laufwerke in den Ruhestand geschickt :-) ...

Windows Server

Freigegebener Ordner "Eigene Dateien"

gelöst Frage von JensDNDWindows Server8 Kommentare

Hallo Admins, auf unserem Server (WS2012R2) werden die Ordner der einzelnen User unter "Eigene Dateien" freigegeben. nun bekommt ein ...

Windows Server

SBS 2011 freigegebene Ordner

Frage von MiStWindows Server7 Kommentare

Hallo, ich habe folgendes heute bei meinem SBS2011 festgestellt. In der SBS-Konsole unter "Freigegebene Ordner" habe ich bei jedem ...

Windows Netzwerk

Erreichbarkeit freigegebene Ordner und Server

Frage von racer1601Windows Netzwerk3 Kommentare

Hallo Kollegen, ich hätte da noch ein Problem das schon länger besteht. Also eigentlich seit dem diese Firma ihre ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 1 TagWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 1 TagSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 2 TagenDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein Beitrag bei Heise (siehe Link folgend). Behörden ignorieren Sicherheitsbedenken gegenüber ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 2 TagenSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
DSL, VDSL
Mindestgeschwindigkeiten DSL Telekom
Frage von justlukasDSL, VDSL13 Kommentare

Hallo zusammen, Seit diesem Jahr habe ich Verständnisprobleme mit dem Verhalten der Telekom. Wir haben seit einem Jahr VDSL ...

Switche und Hubs
LANCOM-Switch: Probleme (no link) mit SFP-Modulen?
Frage von THETOBSwitche und Hubs10 Kommentare

Hi zusammen, ich habe folgendes Problem: Und zwar habe ich an einem Standort drei Switche verbaut - LANCOM GS-2326P+, ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall10 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)8 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...