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, 1652 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
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (21)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (32)

Frage von Maik82 zum Thema Linux Netzwerk ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

Hardware
gelöst PCI-Express-Adapterfrage (14)

Frage von DerWoWusste zum Thema Hardware ...