Dolli75
-
Gesamte Inhalte
4 -
Registriert seit
-
Letzter Besuch
Beiträge erstellt von Dolli75
-
-
Hi.
Zum Drucker unter W7 / W2008 hast du dir dies aber schon angesehen? - faq-o-matic.net Drucken unter Windows 7 in der Domne
LG Günther
Hallo Guenther,
danke dass Du dich meldest. Meinst Du an dieser Stelle die GPMC oder GPEDIT?
Ok. Ich habe jetzt ein bisschen rumgetestet und Messageboxen eingebaut um zu sehen was er überhaupt macht. Es scheint wohl ein Timing Problem zu sein. Ich denke er ist beim Autostart nach dem Logon wohl noch nicht soweit um die Drucker zu finden. Muss ich mir noch was einfallen lassen oder habt Ihr noch eine fixe Idee?
Grüße Chris
-
Moin,
welche Zeile ist denn in deinem Skript die Zeile 48? Im Originaltext ist das "End If", das kann den Fehler aber nicht verursachen.
Gruß, Nils
Servus Nils,
danke erstmal für die schnelle Rückmeldung.
Vielleicht sollte man das Script auch mit pasten?! ;-)
Ich habe das von Guenther nur um den User erweitert. Hier kommt es:
Die Zeile 48 ist also diese hier objNetwork.AddWindowsPrinterConnection "\\server\printer1"
Danke für die Hilfe
Grüße Chris
*****************************************************
'
' ========= Installiert Drucker, wenn nicht vorhanden ============
'
'Array der Drucker, die installiert sein müssen
'
benutzer = CStr(WScript.CreateObject("WScript.Network").UserName)
if benutzer <> "bsasupport" then
Set objNetwork = CreateObject("WScript.Network")
Set WshShell = WScript.CreateObject("WScript.Shell")
Dim arrayPossPrinters(1)
arrayPossPrinters(0) = "\\server\printer1"
arrayPossPrinters(1) = "\\server\printer2"
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colPrinters = objWMIService.ExecQuery("Select * From Win32_Printer Where Local = False")
' ==== Überprüfen der installierten Drucker =====
If colPrinters.Count <> 0 Then
For Each objPossPrinter In arrayPossPrinters
bFoundMatch = -1
'überprüfen, ob sich der abgefragte Drucker im Array befindet
For Each objPrinterInstalled In colPrinters
If UCase(objPrinterInstalled.ServerName & "\" & objPrinterInstalled.ShareName) = UCase(objPossPrinter)Then
bFoundMatch = 1
'WScript.Echo "Drucker: " & objPossPrinter & vbCrLf & "installiert: " & bFoundMatch
'Schleife verlassen
Exit For
End If
Next
If bFoundMatch = -1 Then
'Drucker installieren, da nicht vorhanden
'wscript.echo bFoundMatch
'WScript.Echo objPossPrinter
objNetwork.AddWindowsPrinterConnection objPossPrinter
End If
Next
Else ' muss sein, wenn überhaupt kein Drucker installiert ist
objNetwork.AddWindowsPrinterConnection "\\server\printer1"
objNetwork.AddWindowsPrinterConnection "\\server\printer2"
End If
END If
-
Hallo zusammen,
ich muss diesen alten Thread wieder auskramen. :(
Sorry hierfür.
Ich habe das Script von GuentherH benutzt und es funktioniert auch soweit bei allen NICHT Windows 7 bzw. Windows 2008 Systemen.
Bei Windows 7 bzw. Windows 2008 Systemen bekomme ich aber die folgende Fehlermeldung wenn das Script, ich habe es in den Autostart Ordner für Testzwecke eingebaut, zum zweiten mal gestartet wird:
Script: C:\Tools\NetLogOn\Test.vbs
Line: 48
Char: 2
Error: The environment is incorrect
Code: 8007000A
Source: (null)
Warum die Meldung kommt kann ich aber nicht sagen.
Kann mir hierzu jemand helfen?
Beste Grüße aus Darmstadt
Dolli
Drucker per Anmeldescript mappen dauert. Warum?
in Windows Forum — Allgemein
Geschrieben
Hi zusammen,
ich habs nun gefunden. Das Problem ist tatsächlich ein Timing Problem. Ich habe einfach einen "WScript.Sleep 10000" eingebaut und siehe da es funktioniert. Danke allen für die Hilfe. Hier nochmals das funktionierende Script falls es einer für Windows 7 oder Windows 2008 /2008 R2 braucht.
Grüße Chris
**************************************************
'
' ========= Installiert Drucker, wenn nicht vorhanden ============
'
'Array der Drucker, die installiert sein müssen
'
benutzer = CStr(WScript.CreateObject("WScript.Network").UserName)
if benutzer <> "bsasupport" then
Set objNetwork = CreateObject("WScript.Network")
Set WshShell = WScript.CreateObject("WScript.Shell")
Dim arrayPossPrinters(1)
arrayPossPrinters(0) = "\\server\printer1"
arrayPossPrinters(1) = "\\server\printer2"
' Warte 10 Sekunden bis Windows soweit ist.
' Wichtig für alle Windows 7/ 2008 und 2008 R2 Systeme.
WScript.Sleep 10000
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colPrinters = objWMIService.ExecQuery("Select * From Win32_Printer Where Local = False")
' ==== Überprüfen der installierten Drucker =====
If colPrinters.Count <> 0 Then
For Each objPossPrinter In arrayPossPrinters
bFoundMatch = -1
'überprüfen, ob sich der abgefragte Drucker im Array befindet
For Each objPrinterInstalled In colPrinters
If UCase(objPrinterInstalled.ServerName & "\" & objPrinterInstalled.ShareName) = UCase(objPossPrinter)Then
bFoundMatch = 1
'WScript.Echo "Drucker: " & objPossPrinter & vbCrLf & "installiert: " & bFoundMatch
'Schleife verlassen
Exit For
End If
Next
If bFoundMatch = -1 Then
'Drucker installieren, da nicht vorhanden
'wscript.echo bFoundMatch
'WScript.Echo objPossPrinter
objNetwork.AddWindowsPrinterConnection objPossPrinter
End If
Next
Else ' muss sein, wenn überhaupt kein Drucker installiert ist
objNetwork.AddWindowsPrinterConnection "\\server\printer1"
objNetwork.AddWindowsPrinterConnection "\\server\printer2"
End If
END If