rapante90
Goto Top

Drucker werden per VBS Skript nicht eingebunden

Hallo Zusammen,
ich habe ein Problem mit einem VBS Skript, welchses bestimmte Drucker für bsteimmt Benutzergruppen der Domäne bei der Anmeldung einbindet.

Das Skript an sich funktioniert einwandfrei, wenn man es mit Administratorenrechten startet.

Sobald man es aber unter einem normalen User ausführt, geschieht nichts.

Wenn man aber als normaler User die Drucker manuell einbindet \\Servername\Druckerfreigabe funktioniert es.

Der erste Gedankte ich natürlich ein Rechte Problem.
Aber mich irritiert, warum ich die Drucker dann als normaler User manuell einbinden kann.

Das Skript wird bei den normalen Usern (keine Admin-Rechte) auch ausgeführt.

Habe es getestet indem ich ein Fehler in das Skript gebaut habe und anschließend eine Meldung bekommen habe, dass das Skript nicht ausgeführt werden kann.

Ähnliche Themen wurden hier bereits lang und breit Diskutiert, allerdings hat bisher keine der Lösungsvorschläge der anderen Beiträge wirkung gezeigt.

Basissystem: Windows Server 2003 SBS


Hat noch jemand das Problem oder einen Lösungs-Vorschlag?

Danke im voraus
mfg Nienhaus

Content-Key: 106960

Url: https://administrator.de/contentid/106960

Printed on: April 18, 2024 at 18:04 o'clock

Mitglied: 60730
60730 Jan 23, 2009 at 20:25:42 (UTC)
Goto Top
Servus,

ich lese in deinem Beitrag:

  • ein Problem mit einem VBS Skript..
  • Das Skript an sich...
  • Der erste Gedankte ich natürlich ein Rechte Problem.

Wie wäre es zur Abwechslung das benutzte Script nicht nur dauernd zu erwähnen, sondern uns auch einen Einblick in das Script zu geben?

Gerne per < code> < /code> (ohne Leerzeichen hinter <)


Ps:
Hat noch jemand das Problem oder einen Lösungs-Vorschlag?

Nimm Kix ...
nimm rundll32...

Gruß

Hilfe zur Selbsthilfe und wenn die Hilfe nur darin bestehen sollte, dabei zu helfen eine Frage richtig zu stellen
Member: Rapante90
Rapante90 Jan 26, 2009 at 09:19:15 (UTC)
Goto Top
Hier das Script.

Hauptscript-------------------

== Universelle Einbindung externer Skriptdateien (NUR VBS)
Function Include(skriptname)
Dim fso ' As Scripting.FileSystemObject
Dim oTX ' As Scripting.TextStream
On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(skriptname) Then
Set oTX = fso.OpenTextFile(skriptname)
ExecuteGlobal oTX.ReadAll
If Err.Number <> 0 Then ' Fehler
Include = Err.Number & ":" & Err.Description
Else ' kein Fehler
Include = ""
End If
oTX.Close
Else ' Datei nicht gefunden
Include = "Datei existierte nicht!"
End If
End Function


Include ("\\mem.mem.local\Anmeldeskripte\Drucker_Mappen.vbs")

On Error Resume Next

'Gruppenmitgliedschaften des aktuellen Benutzers suchen
Set objSysInfo = CreateObject("ADSystemInfo")
Set objNetwork = CreateObject("Wscript.Network")

strUserPath = "LDAP:" & objSysInfo.UserName
Set objUser = GetObject(strUserPath)


'Fuer jede der gefunden Gruppen folgende Anweisungen durchfuehren
For Each strGroup in objUser.MemberOf
strGroupPath = "LDAP:
" & strGroup
Set objGroup = GetObject(strGroupPath)
strGroupName = objGroup.CN

Select Case strGroupName


Case "gru_buero"
'Laufwerkseinbindung
'objNetwork.MapNetworkDrive "F:", "\\mem.mem.local\erp_dos", "False"
'objNetwork.MapNetworkDrive "L:", "\\mem.mem.local\hauptverzeichnis", "False"
'objNetwork.MapNetworkDrive "Z:", "\\ts001\dvd", "False"

'Druckerlöschen
'DeletePrinter "\\mem.mem.local\Q49 A4 normal", "Q49 A4 normal"
'DeletePrinter "\\mem.mem.local\Q49 Gelb A4", "Q49 Gelb A4"
'DeletePrinter "\\mem.mem.local\Q49 GePa A4", "Q49 GePa A4"
'DeletePrinter "\\mem.mem.local\Q33A3", "Q33A3"
'DeletePrinter "\\mem.mem.local\Q33normal", "Q33normal"
'DeletePrinter "\\mem.mem.local\Q33GePa", "Q33GePa"
'DeletePrinter "\\mem.mem.local\2550 Normal", "2550 Normal"
'DeletePrinter "\\mem.mem.local\2550 GePa", "2550 GePa"
'DeletePrinter "\\mem.mem.local\Fax", "Fax"
'DeletePrinter "\\control-b2-1-xp\HPLJ_1022", "HPLJ_1022"

'Druckereinbindung
MapPrinter "\\mem.mem.local\Q49 A4 normal", "Q49 A4 normal"
MapPrinter "\\mem.mem.local\Q49 Gelb A4", "Q49 Gelb A4"
MapPrinter "\\mem.mem.local\Q49 GePa A4", "Q49 GePa A4"
MapPrinter "\\mem.mem.local\Q33A3", "Q33A3"
MapPrinter "\\mem.mem.local\Q33normal", "Q33normal"
MapPrinter "\\mem.mem.local\Q33GePa", "Q33GePa"
MapPrinter "\\mem.mem.local\2550 Normal", "2550 Normal"
MapPrinter "\\mem.mem.local\2550 GePa", "2550 GePa"
MapPrinter "\\mem.mem.local\Fax", "Fax"
MapPrinter "\\control-b2-1-xp\HPLJ_1022", "HPLJ_1022"


End Select

next

sUsername = objNetwork.UserName

Select Case sUsername

Case "hj_marx"
'DeletePrinter "\\gl-B3-1-xp\HPLJ_1022HJ", "HPLJ_1022HJ"
MapPrinter "\\gl-B3-1-xp\HPLJ_1022HJ", "HPLJ_1022HJ"

End Select


Hilfsscript-----------------

Skript Drucker_Mappen.vbs:

'Funktion zum Festlegen des Standarddruckers
Sub SetDefaultPrinter(sUNC,sName)
Dim oNetwork
Set oNetwork = CreateObject("WScript.Network")
oNetwork.SetDefaultPrinter sName
End Sub


'Mappen von Druckern
Sub MapPrinter(sUNC,sName)
Dim oNetwork
Set oNetwork = CreateObject("WScript.Network")
oNetwork.AddWindowsPrinterConnection sUNC,sName
End Sub

'Loeschen von Druckern
Sub DeletePrinter(sUNC,sName)
Dim oNetwork
on error resume next
Set oNetwork = CreateObject("WScript.Network")
oNetwork.RemovePrinterConnection sUNC,sName
End Sub
Mitglied: 60730
60730 Jan 26, 2009 at 10:49:14 (UTC)
Goto Top
Hier die Antwort.

Der erste Gedankte ich natürlich ein Rechte Problem.

face-wink Rischdigg

Hat noch jemand das Problem oder einen Lösungs-Vorschlag?

Nimm Kix ...
nimm rundll32...
End Antwort
Member: Rapante90
Rapante90 Jan 26, 2009 at 10:50:48 (UTC)
Goto Top
Problem hat sich so eben gelöst,
die Domänenbenutzer hatten auf dem Registry Pfad:

HKLM/SOftware/Microsoft/WindowsNT/CurrentVersion/Print

keine Berechtigungen zum schrieben / ändern

Verteile die Berechtigung jetzt per GPO.

Danke für die Antwort.

MfG Nienhaus