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

Probleme bei auslesen der Registry

Frage Entwicklung Visual Studio

Mitglied: bambi2012

bambi2012 (Level 1) - Jetzt verbinden

19.06.2013 um 10:04 Uhr, 1644 Aufrufe, 8 Kommentare, 1 Danke

Hallo liebes Forum,

ich habe ein Problem bei remote auslesen der Registry.




Dim RemoteKey As RegistryKey

Try
RemoteKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentUser, sComp).OpenSubKey("Software\Microsoft\Windows" & _
"NT\CurrentVersion\Devices", False)
Catch ex As Exception
erg_print.Text = ex.Message
Return
End Try


For Each valueName As String In RemoteKey.GetValueNames()
erg_print.Items.Add(valueName)
Next

RemoteKey.Close()

Mit diesem Code frage ich den Schlüssel "Devices" ab, in dem alle eingerichteten Drucker aufgeführt sind. Ausgeben werden mir jedoch nur der MS XPS Document Writer und der MS Office Document Image Writer, obwohl in dem Schlüssel noch weitere Drucker stehen ( Netzwerkdrucker .

Auch die Abfrage auf den Standartdrucker...

Dim Werte As String

Werte = RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentUser, sComp, _
RegistryView.Default).OpenSubKey("Software\Microsoft\Windows" & _
"NT\CurrentVersion\Windows\", False, _
Security.AccessControl.RegistryRights.ReadKey).GetValue("Device")

erg_drucker.Text = Werte

... gibt mir nur den MS XPS Document Writer wieder, obwohl in dem Schlüssel ein anderer Drucker aufgeführt ist ( wieder ein Netzwerkdrucker)

Frage ich einen anderen Schlüssel ab, bekomme ich auch das richtige Ergebniss...

Warum werden mir die Netzwerkdrucker nicht angezeigt???

Ich weiß einfach nicht mehr weiter.

Ich hoffe, Ihr könnt mir helfen...

Vielen Dank und liebe Grüße
Mitglied: Coreknabe
19.06.2013 um 10:15 Uhr
Moin,

ich nehme mal an, dass Du bei der Abfrage über ausreichende Rechte verfügst. Ansonsten springt mir das Wort "Netzwerkdrucker" ins Auge, die Drucker sind benutzerabhängig: Fragst Du den richtigen Schlüssel ab? Viellecht rede ich auch Quatsch, aber das fällt mir so spontan ein.

Gruß
Bitte warten ..
Mitglied: colinardo
19.06.2013, aktualisiert um 11:56 Uhr
Hallo bambi2012,
als alternative empfehle ich eine Abfrage der installierten Drucker über WMI:
01.
Sub Main() 
02.
 
03.
        Dim RemoteSystem As String = "192.168.1.10" 
04.
        Dim username As String = "USERNAME" 
05.
        Dim password As String = "PASSWORD" 
06.
 
07.
        Dim myConnOptions As New ConnectionOptions 
08.
        With myConnOptions 
09.
            .Username = username 
10.
            .Password = password 
11.
            .Impersonation = ImpersonationLevel.Impersonate 
12.
            .Authentication = AuthenticationLevel.Packet 
13.
        End With 
14.
        Dim myScope As New ManagementScope("\\" & RemoteSystem & "\root\cimv2", myConnOptions) 
15.
        myScope.Connect() 
16.
        If myScope.IsConnected Then 
17.
            Dim mos As New ManagementObjectSearcher(myScope, New ObjectQuery("Select * from Win32_Printer")) 
18.
            Dim mgtObj As ManagementObject 
19.
            For Each mgtObj In mos.Get 
20.
                Console.WriteLine(mgtObj("name").ToString & " ### LocalPrinter:" & mgtObj("local").ToString) 
21.
            Next 
22.
            Console.WriteLine(vbCrLf & "Fertig, Taste drücken zum beenden...") 
23.
            Console.ReadKey() 
24.
        Else 
25.
            Console.WriteLine("Konnte keine Verbindung zum RemoteSystem herstellen") 
26.
        End If 
27.
 
28.
    End Sub
Das ist sauberer und weniger Fehleranfällig.

Grüße Uwe
Bitte warten ..
Mitglied: bambi2012
19.06.2013 um 10:31 Uhr
@Coreknabe:

In HKCU\Software\Microsoft\WindowsNT\CurrentVersion\Devices stehen alle angebundenen Drucker (incl. Netzwerkdrucker)
Lokal klappt die Abfrage ja auch ordentlich, nur werden mir die Netzwerkdrucker nicht angezeigt...

Und in HKCU\Software\Microsoft\WindowsNT\CurrentVersion\Windows unter "Device" steht der Standarddrucker.
Ist der Standarddrucker aber ein Netzwerkdrucker, so wird der "Microsoft XPS Document Writer" angezeigt, obwohl in dem Schlüssel etwas anderes steht...

@colinardo:

Andere Werte frage ich auch über WMI ab, nur habe ich gelesen, dass über WMI keine Netzwerkdrucker remote angezeigt werden.
Wenn ich das so, wie du beschrieben hast, umsetzte, bekomme ich auch nur lokale Drucker ( Microsoft XPS Document Writer u.s.w.) angezeigt...

Trotzdem schonmal Danke für die raschen Antworten
Bitte warten ..
Mitglied: colinardo
19.06.2013, aktualisiert um 11:58 Uhr
Ist der User unter dem du das Programm ausführst auf dem Zielsystem Mitglied der Administratoren ? Du hast denke ich ein Rechteproblem wie @Coreknabe schon erwähnt hat.

Lokal klappt die Abfrage ja auch ordentlich, nur werden mir die Netzwerkdrucker nicht angezeigt...
Stimmt, hatte ich vergessen. Die sind ja Nutzerabhängig.
Bitte warten ..
Mitglied: bambi2012
19.06.2013 um 12:32 Uhr
Die sind Nutzerabhängig? Warum zeigt er mir denn das nicht einfach an, was in dem Schlüssel auch drin steht... Das muss doch irgendwie möglich sein... In dem Key für den Standarddrucker steht ja auch ein komplett anderer Drucker drin, als er mir ausgibt...

Habe meinen Benutzer auch auf dem Client als Admin eingetragen, trotzdem keine Besserung
Bitte warten ..
Mitglied: bambi2012
19.06.2013 um 12:49 Uhr
auch mit dem oberen wmi beispiel bekomme ich die netzwerkdrucker nicht angezeigt
Bitte warten ..
Mitglied: colinardo
19.06.2013, aktualisiert um 12:52 Uhr
Zitat von bambi2012:
auch mit dem oberen wmi beispiel bekomme ich die netzwerkdrucker nicht angezeigt
Das geht auch nur wenn du die Logindaten des jeweiligen Users verwendest ... und die hast du wahrscheinlich nicht.
Bitte warten ..
Mitglied: bambi2012
19.06.2013 um 13:52 Uhr
stimmt, perfekt...jetzt klappt das auch... nur du hast recht, ich hab leider nicht von allen Usern das Passwort, wenn überhaupt eins vergeben ist...
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Systemdateien
gelöst Registry-Schlüssel per Batch auslesen und in Datei schreiben (9)

Frage von Philzip zum Thema Windows Systemdateien ...

Microsoft Office
Office 2016 Probleme mit Outlook (5)

Frage von killtec zum Thema Microsoft Office ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
gelöst Crontab mit Shell Probleme (9)

Frage von mschaedler1982 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...