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

Skript für Drucker per AD zuordnen

Frage Microsoft Windows Server

Mitglied: florian.rhomberg

florian.rhomberg (Level 1) - Jetzt verbinden

07.01.2006, aktualisiert 18.10.2012, 7576 Aufrufe, 8 Kommentare

Wir haben zahlreiche Drucker die über die gesmate Schule verteilt sind. Alle Benutzer werden zentral verwaltet und alle Drucker sind am Server eingerichtet, notwendig wegen eines Druckerabrechnungsprogramm.

Hi,
Ich habe inzwischen im anmeldskript einmal eingetragen, dass alle Druckerverbindungen die mit dem Profil gespeichert werden gelöscht werden. Die Computer habe ich im AD in OU zusammengefasst und zwar raumweise. Im Moment hat jede Raum ein eigenes Skript mit dem der richtige Drucker dem Benutzer zugeordnet wird. Nun wollte ich fragen ob es möglich ist mithilfe von if-Schleifen oder switch, wie auch immer, beim Anmeldskript zunächts das AD abzufragen um zu wissen in welchen Raum der Benutzer gearde sitzt. Gint es da eine Möglichkeit?

Liebe Grüße,
Florian
Mitglied: gemini
08.01.2006 um 01:10 Uhr
Hallo eolith421,

wie man die OU des Computers direkt auswerten kann, bin ich jetzt überfragt.
Eine Möglichkeit wäre, den DN des Computers zu zerlegen, das ist aber keine elegante Lösung.

Für solche Sachen gibt es eigentlich ein Attribut des Computerobjekts, den Standort.

01.
strContainer	= "OU=<<a>OuDerPCs<a>>" 
02.
strPrintSRV = "Druckserver" 
03.
Set WshNetwork = Wscript.CreateObject("Wscript.Network") 
04.
strComputer = LCase(WshNetwork.ComputerName) 
05.
Set objRootDSE = GetObject("LDAP://rootDSE") 
06.
Set objItem = GetObject("LDAP://cn=" & strComputer & "," & strContainer & "," & _ 
07.
   objRootDSE.Get("defaultNamingContext")) 
08.
strLocation = objItem.Get("location") 
09.
Select Case strLocation 
10.
   Case "Raum1" 
11.
      WshNetwork.AddWindowsPrinterConnection "\\" & strPrintSRV & "\Drucker1" 
12.
      WshNetwork.SetDefaultPrinter "\\" & strPrintSRV & "\Drucker1"	 
13.
   Case "Raum2" 
14.
      WshNetwork.AddWindowsPrinterConnection "\\" & strPrintSRV & "\Drucker2" 
15.
      WshNetwork.SetDefaultPrinter "\\" & strPrintSRV & "\Drucker2"	 
16.
   Case Else 
17.
End Select
Gruß
gemini
Bitte warten ..
Mitglied: wiri
08.01.2006 um 10:22 Uhr
hi
oder hier
http://www.gruppenrichtlinien.de/index.html?/HowTo/Anmelde_Scripts.htm
stehen schöne Beispiele
cu
willi
Bitte warten ..
Mitglied: florian.rhomberg
08.01.2006 um 11:54 Uhr
Danke für die Antwort! Es wäre nett wenn du mir noch die ersten Zeilen bis zu StrLocation erkären könntest wäre ich echt dankbar. Den Rest glaube ich mal zu verstehen. Nebenbei ne dumme Frage, das ist ein VB Script oder?, kann ich also nicht als bat speichern?

Liebe Grüße,
Florian
Bitte warten ..
Mitglied: gemini
08.01.2006 um 12:41 Uhr
Frage, das ist ein VB Script oder?, kann ich also nicht als bat speichern?
Ja, ist ein VBScript und braucht die Endung .vbs

01.
' Die Variablen werden mit Inhalt gefüllt. 
02.
' OuDerPCs muss dann mit dem Namen der OU ersetzt werden in de die PCs sind, 
03.
' also bspw. strContainer = "OU=AllePCs" 
04.
strContainer	= "OU=<<a>OuDerPCs<a>>" 
05.
' Der Server auf dem die Drucker installiert sind 
06.
strPrintSRV = "Druckserver" 
07.
' Eine Instanz des Network Objekts wird estellt. 
08.
Set WshNetwork = Wscript.CreateObject("Wscript.Network") 
09.
' Die Eigenschaft Computername des Network-Obj. wird abgefragt 
10.
strComputer = LCase(WshNetwork.ComputerName) 
11.
' Eine Verbindung zum AD wird hergestellt 
12.
' rootDSE ist das oberste Objekt in der AD-Hierarchie 
13.
' ggf. kann auch noch ein Server angegeben werden, ("LDAP://server/rootDSE") 
14.
Set objRootDSE = GetObject("LDAP://rootDSE") 
15.
' Vebindung zum Objekt strComputer in der OU strContainer im Bereich Users und Computer 
16.
Set objItem = GetObject("LDAP://cn=" & strComputer & "," & strContainer & "," & _ 
17.
   objRootDSE.Get("defaultNamingContext")) 
18.
' Für o.g. PC in benannter OU wird das Atrribut location und in die Variable geschrieben 
19.
strLocation = objItem.Get("location") 
20.
' Die Variable wird ausgewertet 
21.
' Wenn bei dem Computer kein Standort eingetragen ist, kommt ein Fehler 
22.
Select Case strLocation 
23.
Case "Raum1" 
24.
WshNetwork.AddWindowsPrinterConnection "\\" & strPrintSRV & "\Drucker1" 
25.
WshNetwork.SetDefaultPrinter "\\" & strPrintSRV & "\Drucker1"	 
26.
Case "Raum2" 
27.
WshNetwork.AddWindowsPrinterConnection "\\" & strPrintSRV & "\Drucker2" 
28.
WshNetwork.SetDefaultPrinter "\\" & strPrintSRV & "\Drucker2"	 
29.
Case Else 
30.
End Select
gemini
Bitte warten ..
Mitglied: Lownex
23.03.2006 um 07:06 Uhr
Hallo zusammen!

Ich möchte ein ähnliches Szenario realisieren. Ich habe dazu ein VBS Script geschrieben, dass einen freigegebenen Drucker anzieht. Wenn ich Ihn über eine GPO einer Benutzergruppe zuordne, funktioniert dies auch wunderbar. Jetzt habe ich versucht über eine GPO auf einem Computerkonto das script ausführen zu lassen - das funktioniert jedoch nicht.

Wofür gibt es in der Computerconfiguration in einer GPO denn eigentlich die Möglichkeit ein Startup Script auszuführen, wenn dies nicht ausgeführt wird? Es muss doch eine Möglichkeit geben, abhängig vom Computer einen Drucker zuzuweisen ohne ein 20-zeilen Script zu schreiben, oder? Wie wird das in großen Netzen gemacht, in denen man sich manchmal in Köln und manchmal in Düsseldorf anmeldet und natürlich immer einen lokalen Drucker benötigt...?
Bitte warten ..
Mitglied: Xaero1982
31.03.2006 um 07:33 Uhr
Wo liegt denn dein Login script das du in der GPO hinterlegt hast?

Doch nicht etwa auf
c:\scripts\logon.bat oder sowas?

das muss in den Ordner LETLOGON ... Im Windowsverzeichnis!
Bitte warten ..
Mitglied: Lownex
31.03.2006 um 15:03 Uhr
das liegt in dem Script-Verzeichnis der jeweiligen GPO. und wie gesagt, wenn ich das Script der Benutzerkonfiguration zuordne, dann funktioniert das...
Bitte warten ..
Mitglied: MisterIX
05.02.2009, aktualisiert 18.10.2012
Hallo Florian, ich bin kürzlich auf das selbe Problem gestoßen zumal eine Zuordnung der Drucker im Active Directory erst ab Server 2003 R2 möglich ist.
Daher habe ich ein Kixtart Skript geschrieben, dass die Active Directory Gruppen auslesen kann. Da ich bei meiner Recherche auf Deiner Seite gelandet bin, hinterlege ich hier einen Link auf meinen Artikel, damit andere davon profitieren können. Kixtart ist übrigens Freeware und kann umsonst im Netz heruntergeladen werden.

Hier der Link auf den Artikel: http://www.administrator.de/forum/skript-zur-automatischen-verteilung-v ...
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Windows Userverwaltung
PS Skript AD Objekte auslesen (1)

Frage von m.reeger zum Thema Windows Userverwaltung ...

Batch & Shell
Per Skript lokal angeschlossene USB Drucker auslesen (7)

Frage von pixel0815 zum Thema Batch & Shell ...

Windows Netzwerk
gelöst Log-On Skript Abfrage: Computer in AD-Gruppe (10)

Frage von Giffas zum Thema Windows Netzwerk ...

Windows Server
gelöst Freigegebene Drucker plötzlich offline (Windows Server 2008 AD) (3)

Frage von D1Ck3n zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...