| 

.NET C# Java Javascript Exception

4
Gibt es einen einfachen Weg, um in einem Netzwerk einen NAS-Server (Network Attached Storage, Typ Buffalo) zu erkennen? Ich möchte für alle Netzwerkrechner eine Funktion anbieten, über die Datensicherungen automatisiert über einen angebundenen NAS-Server gesichert und bei Bedarf wiederhergestellt werden. Auf dem NAS-Server läuft Linux als Betriebssystem, das automatisch bootet. Das System ist so konfiguriert, das die enthaltenen Festplatten für die Datenspeicherung freigegeben werden. Wie frage ich diese Datenverzeichnisse unter Windows ab und wie kann ich ausschließen, dass andere Rechner als Datenspeicher herangezogen werden. Macht es Sinn, eine bestimmte INFO-Datei in den Laufwerken abzulegen, die als Datenspeicher nutzbar sein sollen? Ich vermute mal, eine Typabfrage für einen NAS-Server gibt es nicht, oder!?
News:
25.07.2013
David G. 191 1 6
Was spricht dagegen die IP-Adresse oder den Hostnamen des NAS zu verwenden?
Über welches Protokoll sprechen denn Windows-PC und NAS miteinander (SMB, FTP, HTTP, ...)?

Wenn versehentlich auf einen anderen Rechner geschrieben werden kann, solltest du dir nochmal Gedanken über die Sicherheit des ganzen Netzwerks machen ;)
phg 25.07.2013
2 Antworten
1
Wenn ich das richtig verstehe, möchtest Du den NAS-Server zur Laufzeit dynamisch abfragen und nicht über einen festgelegten Hostnamen oder eine feste IP-Adresse zuweisen. Ein NAS-Server weist sich tatsächlich nicht als Netzwerkrechner dieses Typs aus und ist streng genommen ein einfacher Netzwerkrechner mit Linux-Betriebssystem. Er und seine freigegebenen Netzwerkverzeichnisse können - ebenso wie die Windows-Netzwerk-Rechner - mit Windows-API-Funktionen (insbesondere WNetOpenEnum, WNetEnumResource und WNetCloseEnum) abgefragt werden. NAS-Server selbst werden unter dem Ressourcentyp RESOURCEDISPLAYTYPE_SERVER verwaltet. Ist eine Netzwerkresource ermittelt, kannst du die Verzeichnisinhalte über den Namespace System.IO direkt abfragen. Deine Idee in den Datenverzeichnissen eine INFO-Datei abzulegen, macht also durchaus Sinn. Spezielle Protokolle wie SNMP wären zwar auch nutzbar, werden aber für die von Dir gestellte Aufgabe nicht benötigt.
29.07.2013
Claus M. 2,9k 9
Danke, damit kann ich die NAS-Server-Erkennung umsetzen. Für alle die es interssiert, unter http://www.codeproject.com/Articles/6235/Enumerating-Network-Resources gibt es einen Beitrag, wie man die Netzwerkinformationen mit C# abfragt.
David G. 31.07.2013
1
Für solche Zwecke gibt es eigentlich das SNMP Protokoll. Würde mich wundern, wenn Deine Linux-Box dieses nicht spricht.
Bibliotheken für .NET existieren OpenSource oder kommerziell (um exemplarisch 2 Stellvertreter zu nennen).
25.07.2013
ffordermaier 8,4k 3 9

Stelle deine .net-Frage jetzt!