Samoth 33 Geschrieben 18. Juli 2012 Melden Teilen Geschrieben 18. Juli 2012 Guten Morgen, heute morgen erhielt ich einen Anruf von einem Bekannten, der wohl Probleme beim Druckablauf aus einem Programm heraus hat. Ich habe mir die Sache angesehen und bin dort auf WSH-Probleme gestoßen. Folgendes Skript kommt dabei zur Ausführung: Function GetDefaultPrinter() Set oShell = CreateObject("WScript.Shell") sRegVal = "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device" sDefault = "" On Error Resume Next sDefault = oShell.RegRead(sRegVal) sDefault = Left(sDefault ,InStr(sDefault, ",") - 1) On Error Goto 0 GetDefaultPrinter = sDefault End Function Function IsProcessRunning(ProcessName) [b] Set oWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")[/b] Set colProcessList = oWMIService.ExecQuery ("Select Name from Win32_Process where Name='" & ProcessName & "'") IsProcessRunning = colProcessList.count End Function m = 0 n = IsProcessRunning("PrtSvr.exe") Do While ( n > 0 ) and ( m < 10 ) WScript.Sleep 500 n = IsProcessRunning("PrtSvr.exe") m = m + 1 Loop n = IsProcessRunning("PrtSvr.exe") REM If n > 0 Then REM msgbox ("Printserver läuft noch!!!") REM End If Set WshNetwork = WScript.CreateObject("WScript.Network") Set WshShell = CreateObject("Wscript.Shell") Set WshEnv = WshShell.Environment("USER") WshEnv("StdDrucker") = GetDefaultPrinter() NeuerStdDrucker = "Kyocera FS-1300D KX" WshNetwork.SetDefaultPrinter(NeuerStdDrucker) REM msgbox("Standard Drucker gesetzt. ") Während dessen Ausführung erhalte ich folgende Meldung: Skript: L:\prog\SetNewDefaultPrinter.vbs Zeile: 12 Zeichen: 3 Fehler: Das angegebene Modul wurde nicht gefunden. Code: 8007007E Quelle: (null) Die Fehlerzeile 12 habe ich oben fett markiert. Leider kann ich mit der Meldung an sich sehr wenig anfangen. Auf einem anderen Rechner läuft das Skript einwandfrei. Ich würde mich so freuen, wenn mir da jemand unter die Arme greifen kann :-D Viele Grüße und jetzt schon besten Dank für jeden Tipp! Samoth Zitieren Link zu diesem Kommentar
Samoth 33 Geschrieben 20. Juli 2012 Autor Melden Teilen Geschrieben 20. Juli 2012 Guten Morgen, entschuldigt, wenn ich es nochmal pushe. Wie ich sehe, haben sich schon über 100 Leute das Problem angesehen und nicht einer hat einen kleinen Tipp? :-) Grüße Samoth Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 20. Juli 2012 Melden Teilen Geschrieben 20. Juli 2012 Hallo, Da scheint WMI auf diesem Rechner defekt zu sein. Du kannst sversuchen, ob du auf dem Rechner wbemtest.exe ausführen kannst und ob du dich damit auf den Namespace root/cimV2 verbinden kannst. PowerShell - WMI - PowerShellPraxis.de -> Beispiel 3 Einige Artikel zur Beandlung von WMI Problemen findest du hier: PowerShell - WMI - PowerShellPraxis.de Vermutlich ist eine Neuinstallation des Rechners aber schneller blub Zitieren Link zu diesem Kommentar
Samoth 33 Geschrieben 20. Juli 2012 Autor Melden Teilen Geschrieben 20. Juli 2012 Hi zusammen, es geht! Wie so oft hilft die Standard Vorgehensweise in der IT: Suche in jedem Fall sehr lange nach einer Lösung. Dann setze diese Lösung in einem Bruchteil der Recherchezeit um und freue dich über das Ergebnis :-) In meinem Fall reichte es aus, die dlls für WMI (MSXFAQ.DE - WMI - Danke @gw.virus) zu re-registrieren. Das funktionierte hier über den CMD-Befehl: for /f %s in ('dir /b /s %windir%\system32\wbem\*.dll') do regsvr32 /s %s Dazu noch die Link gebende Seite: Source: WinMgmt Event ID: 28 (Windows Operating System 5.2) - Technet Events And Errors Message Center: Message Details Besten Dank auch an blub, der mich mit seinem Link heute Morgen schon in die richtige Richtung gestoßen hat. Grüße Samoth Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.