retodellatorre
Goto Top

Wie weise ich einer Benutzer einer OU Drucker, Netzlaufwerke, Verknüpfungen auf Desktop etc zu?

Hallo

Ich administriere ein Win 2003 Netzwerk mit 1 Server, ca 60 Clients und ca 200 User. AD, DNS; DHCP, Servergespeicherte Profile; läuft alles.

Meine Fragen:

1. Ich möchte den Benutzer einer OU Drucker und Netzlaufwerke zuweisen. Die Benutzer haben sich noch nie angemeldet, ihr Profil ist also noch inexistent.
Wenn die Benutzer sich das erste mal anmelden, erhalten sie den Default User in der Netlogon Freigabe und dann sollten sie eben nach OUs spezifische Netzlaufwerke, Drucker und Verknüfungen auf dem Desktop erhalten. Wie macht man das?

2. Wieviele Benutzer können gleichzeitig mit dem selben Benutzer angemeldet sein?

Vielen Dank für Eure Hilfe!
Gruss
Reto

Content-ID: 35673

Url: https://administrator.de/forum/wie-weise-ich-einer-benutzer-einer-ou-drucker-netzlaufwerke-verknuepfungen-auf-desktop-etc-zu-35673.html

Ausgedruckt am: 24.12.2024 um 14:12 Uhr

WaRCraFt
WaRCraFt 09.07.2006 um 19:02:26 Uhr
Goto Top
Du must der einsprechenden OU eine GPO zuweisen wo du halt ein loginscript ausführst.
Dann gilt alles was im loginscript steht für die user in der OU.
potsdam
potsdam 10.07.2006 um 08:41:04 Uhr
Goto Top
Wie WaRCraFt schreibt über ein Loginscript und GPO.

Das Script könnte so aussehen:

(Auszug aus meinem Script - eventuell ist noch überflüssiges vorhanden)

Dim strComputerName
Dim strUserName
Dim strDomainName
Dim BtnCode

Dim objADSysInfo
Dim wshNetwork
Dim WshShell
Dim WshSysEnv
Dim oShell
Dim oShFolder
Dim objUser
Dim objOU
Dim rootDSE
Dim oPq
Set wshNetwork = WScript.CreateObject( "WScript.Network" )
Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshProcEnv = WshShell.Environment("Process")
Set WshUserEnv = WshShell.Environment("USER")
Set objADSysInfo = CreateObject("ADSystemInfo")
Set oShell = CreateObject("Shell.application")
Set oShFolder = oShell.Namespace(17)
Set objUser = GetObject("LDAP:" & objADSysInfo.UserName)
Set objOU = GetObject(objUser.parent)
Set objFSO = CreateObject("Scripting.FileSystemObject")

'Warten bis der Anmeldename des Users ermittelt wurde
Do While wshNetwork.username = ""
WScript.Sleep 250
Loop

strComputerName = wshNetwork.computerName
strUserName = wshNetwork.userName
strDomainName = wshNetwork.userDomain


If UCase(strUserName) = "ADMINISTRATOR" Then
Call Adminlogin
Else
Call subdrivemap 'Aufruf der Subroutine zum Laufwerkmappen
End If
Call SubmapprinterLPT
'* Call Submapprinter
Call subdriverename
Call Favoriten
Call SubZusammenfassung
Call Zenworksstart


Sub subdrivemap()
' ### ADSI abfragen
adspath = "WinNT:
" & strDomainName & "/" & strUserName
Set adsobj = GetObject( adspath )


'##### vorhandene Laufwerke löschen
On Error Resume Next
wshNetwork.RemoveNetworkDrive "I:", True, True
wshNetwork.RemoveNetworkDrive "L:", True, True
wshNetwork.RemoveNetworkDrive "P:", True, True


'##### Laufwerke mappen
wshNetwork.MapNetworkDrive "L:", "\\"&Server2&"\AUS"
wshNetwork.MapNetworkDrive "P:", "\\"&Server1&"\Pro"
wshNetwork.MapNetworkDrive "I:", "\\"&Server2&"\User\"& strUserName

For Each prop In adsobj.groups

'* Jetzt noch ein paar Laufwerke abhängig von Gruppenzugehörigkeit
'* ACHTUNG! Gruppennamen immer GROSS schreiben

Select Case UCase(prop.name)
Case "GRUPPENNAME"
wshNetwork.MapNetworkDrive "M:", "\\"&Server2&"\AUS\APEV"


End Select
Next

End Sub

Sub Submapprinter()
objOU.Filter=Array("printqueue")
For Each oPq In objOU
wshNetwork.AddWindowsPrinterConnection oPq.PrinterPath
Next
End Sub

Sub SubmapprinterLPT()


objOU.Filter=Array("printqueue") '*Filtert alle Printer Queue Objekte aus der OU des Benutzers
For Each oPq In objOU


If UCase(oPq.PrinterName) = UCase(objUser.extensionAttribute2) Then
On Error Resume Next
'* Trennt bei Vorhandensein die Verbindung von LPT1:
wshNetwork.RemovePrinterConnection "LPT1", True, True
wshNetwork.AddPrinterConnection "LPT1", oPq.PrinterPath
wshNetwork.AddWindowsPrinterConnection oPq.PrinterPath
wshNetwork.SetDefaultPrinter oPq.Printerpath
Else
wshNetwork.AddWindowsPrinterConnection oPq.PrinterPath

End If
Next
End Sub
Sub subdriverename()
For Each oShFolderItem In oShFolder.Items
Select Case oShFolderItem.Path
Case "I:\" oShFolderItem.Name = "Meine persönlichen Daten"
Case "L:\" oShFolderItem.Name = "Globaler Austausch"
Case "P:\" oShFolderItem.Name = "Projekt"

End Select
Next

Set oShell = Nothing
Set oShFolder = Nothing
Set oShFolderItem = Nothing

End Sub
Sub Favoriten ()
Set folder = objFSO.GetFolder(strFavoriten)
For Each file In folder.files
If file.type = "Verknüpfung" OR Shortcut Then
file.Delete
End If
Next
Set oUrlLink =WshShell.CreateShortcut(strFavoriten &"\Laufwerk I.lnk")
oUrlLink.TargetPath = "I:\"
oUrlLink.Save
Set oUrlLink =WshShell.CreateShortcut(strFavoriten &"\Laufwerk L.lnk")
oUrlLink.TargetPath = "L:\"
oUrlLink.Save
Set oUrlLink =WshShell.CreateShortcut(strFavoriten &"\Laufwerk M.lnk")
oUrlLink.TargetPath = "M:\"
oUrlLink.Save
End Sub
Sub SubZusammenfassung ()

Set colDrives = wshNetwork.EnumNetworkDrives
Set colPrinters = wshNetwork.EnumPrinterConnections
Dim CRLF
CRLF = Chr(13) & Chr(10)
Dim Company
Company = "Firmenname"

strMsg = "Anmelde Ergebnisse" & CRLF & CRLF & "Benutzername" & Chr(9) & "= " & strUserName & CRLF & "Computername" & Chr(9) & "= " & strComputerName & CRLF & "Domäne" & Chr(9) & Chr (9) & "= " & strDomainName & CRLF
'* Verbundene Laufwerke Listen
If colDrives.Count = 0 Then
strMsg = strMsg & CRLF & "Kein Netzlaufwerk ist verbunden." & CRLF
Else
strMsg = strMsg & CRLF & "Verbundene Netzlaufwerk(e):" & CRLF
For i = 0 To colDrives.Count - 1 Step 2
strMsg = strMsg & CRLF & colDrives(i) & Chr(9) & colDrives(i + 1)
Next
End If
'* Verbundene Drucker Listen
If colPrinters.Count = 0 Then
strMsg = strMsg & CRLF & CRLF & _
"Kein Netzwerk-Drucker ist verbunden." & CRLF
Else
strMsg = strMsg & CRLF & CRLF & _
"Verbundene Netzwerk-Drucker:" & CRLF
For i = 0 To colPrinters.Count - 1 Step 2
strMsg = strMsg & CRLF & colPrinters(i) & _
Chr(9) & colPrinters(i + 1)
Next
End If
strMsg = strMsg & CRLF & CRLF & "Dieses Fenster schließt sich in 10 Sekunden automatisch." & CRLF & "Wir wünschen noch einen schönen Arbeitstag"

BtnCode = WshShell.PopUp(strMsg,10,Company,64)

End Sub


Gruß Stefan
http://www.Admins-Tipps.de
retodellatorre
retodellatorre 12.07.2006 um 18:16:43 Uhr
Goto Top
Hallo !
WoW Danke für das riesen script!

Noch eine andere Frage:
Ich habe mit folgendem loginscript, Benutzern ein Netzlaufwerk zugewiesen:

net use u: \\server\freigabe /persistent no:

Wie kann ich nun noch erreichen, dass das Netzlaufwerk im Arbeits platz nicht den Namen "freigabe$ an server\freigabe$ u:" (oder so ähnlich) trägt, sondern einfach und Hübsch "Freigabe"

Danke für Eure Tips

Gruss
Reto
potsdam
potsdam 13.07.2006 um 08:47:34 Uhr
Goto Top
genau den teil des vbs-scripts hab ich weggelassen, moment ... steht aber auf meiner Homepage:

siehe: http://www.admins-tipps.de/Microsoft/Windows_Scripting_Host_%28WSH%29/V ...

moment, steht doch oben schon drin - die routine subdriverename face-smile