Laden...

Über UNC-Pfad Festplattengröße auslesen

Erstellt von borlando vor 19 Jahren Letzter Beitrag vor 19 Jahren 3.331 Views
B
borlando Themenstarter:in
6 Beiträge seit 2005
vor 19 Jahren
Über UNC-Pfad Festplattengröße auslesen

Hallo,

ich möchte über einen Server von anderen Servern Festplattengrößen auslesen.

Kann man auch über "\testserver\c" die Daten auslesen.

Wenn das Laufwerk gemappt ist (also z.B. Z:), dann funzt das über WMI win32_logicaldisk ohne Probleme.

Gruß borlando

4.506 Beiträge seit 2004
vor 19 Jahren

Hallo!

Ich habe Schwierigkeiten deine Frage wirklich zu verstehen, vielleicht stellst du sie nochmal etwas präziser formuliert, und gehe erst mal davon aus, dass keiner weiß was Du sagen willst 😉

So wie Du die Frage gestellt hast, lässt das sehr viel interpretationsfreiheit offen:

  • ist das "//testserver/c" die C-Festplatte? Oder ein geschriebenes C-Programm?

Kann man auch über "\testserver\c" die Daten auslesen.

Ist das eine Frage?

  • Wie möchtest Du die Festplattengrößen denn auslesen? Aus deinem C# Programm, nehme ich mal an, oder?

Also nochmal präzise Deine Frage stellen, bitte.

Ciao
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

A
43 Beiträge seit 2004
vor 19 Jahren

Also man kann per unc \pc-01\Dateien\File.exe größen und Datei Infos auslesen,
musst allerdings drauf achten, manche Funktionen wie der FileSystem Watcher funktionieren nur auf NTFS.

Hier Code zum Größe auslesen:



public ArrayList Files = new ArrayList();


	/// <summary>
		/// Die eigentliche Suchroutine - Aufruf aus dem Hauptprogramm
		/// </summary>
		/// <param name="searchSubDirectories">Unterverzeichnisse durchsuchen?</param>
		public void SearchFiles(bool searchSubDirectories) 
		{

			this.Files.Clear();
			DirectoryInfo di = new DirectoryInfo(SourceDirectory);
			if (searchSubDirectories)
				FindAllFiles(di);
			else
				FindFiles(di);
		}


/// <summary>
		/// Sucht alle Dateien mit den gegebenen Erweiterungen aus dem angegebenen Verzeichnis
		/// </summary>
		/// <param name="baseDir">Suchverzeichnis</param>
		private void FindFiles(DirectoryInfo baseDir) 
		{
			try 
			{
				string[] exts;
				exts = this.Extensions.Split(';');

				//Dateien suchen
				foreach (string ext in exts) 
				{
					foreach (FileInfo theFile in baseDir.GetFiles(ext)) 
					{
						Files.Add(theFile);
					}
				}
			} 
			catch { return; }
		}


		/// <summary>
		/// Durchsucht alle Verzeichnisse rekursiv und ruft FindFiles für jedes Verzeichnis auf
		/// </summary>
		/// <param name="baseDir">Basisverzeichnis</param>
		private void FindAllFiles(DirectoryInfo baseDir) 
		{

			try 
			{
				FindFiles(baseDir);
				//Verzeichnisse rekursiv durchsuchen
				foreach (DirectoryInfo subDir in baseDir.GetDirectories()) 
				{
					FindAllFiles(subDir);
				}
			}
			catch { return; }
		}


Jetzt kannst du über Files alle benötigten Informationen auslesen.....

HF

49.485 Beiträge seit 2005
vor 19 Jahren

Hallo borlando,

wenn das also mit den UNC-Pfaden geht, wie at2oo1 schreibt, und du oder deine Anwendung über Administratorrechte verfügt, dann kannst du die adminsitrativen Freigaben verwenden, die es standardmäßig für jedes Laufwerk gibt. Die Freigabe für das Laufwerk x: auf dem Server server heißt dabei \server\x$

HTH

herbivore

B
borlando Themenstarter:in
6 Beiträge seit 2005
vor 19 Jahren

Hallo norman_timo !

Es geht um den UNC-Pfad wie zb. "\testserver\c". Wenn ich im Windows-Explorer in der Adresszeile den Text so eingebe, erscheint mein Laufwerkinhalt. "C" ist natürlich eine Festplatte.

Ich benutze mein C#-Programm zum auslesen mit

-> disk = new ManagementObject("win32_logicaldisk.deviceid=&quot;" + diskID +":&quot;");
-> disk.Get();

in einer Schleife.

Funktioniert auf lokalen und gemappten Laufwerken ohne Probleme. Ich möchte aber nicht von allen Servern die Laufwerke auf einem Rechner mappen. Deshalb die Frage.

Mfg.

borlando

B
borlando Themenstarter:in
6 Beiträge seit 2005
vor 19 Jahren

Hallo at2oo1,

danke für den Code. Kann ich sicher auch mal noch irgendwo unterbringen.

Wollte aber die Festplattengrößen über WMI lesen (siehe weitere Beiträge).

Mfg.

borlando

4.506 Beiträge seit 2004
vor 19 Jahren

OK OK jetzt weiß ich definitiv, dass ich zu diesem Thema nix weiß, und sorry für meine blöde Bemerkung, dass Du Deine Frage spezifischer stellen solltest.

Manchmal ist es eben nicht einfach, wenn man keine Ahnung davon hat 😜 😁 😁

Ciao
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”