Jump to content

Dolli75

Members
  • Gesamte Inhalte

    4
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von Dolli75

  1. 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
  2. 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
  3. 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
  4. 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
×
×
  • Neu erstellen...