Top-Themen
Top-Themen
.NET Framework
C#/Visual Basic
TFS/Visual Studio
Projektmanagement/Agile
SQL Server
Cloud/Microsoft Azure
SharePoint
Webstandards/HTML5
JavaScript
Java/JEE
C++
Windows Server
PowerShell
Alle Themen
Leistungen
Leistungen
Leistungsangebot
Kernkompetenzen
Schulungsthemen
In-House-Schulungen
Offene .NET-Seminare
Offene WPS-Seminare
Beratung
Coaching
Support
Softwareentwicklung
Entwickler-Vermittlung
Konditionen
Referenzkunden
Kundenaussagen
Referenzprojekte
Anfrage/Kontakt
Beratung/Coaching
Beratung/Coaching
Beratungsthemen
Coaching
Unsere Berater
Referenzkunden
Konditionen
Angebotsanfrage
In-House-Schulungen
In-House-Schulungen
Überblick
Themen/Fachgebiete
Schulungskonfigurator
Konzepte
Referenzkunden
Unsere Trainer
Konditionen
Angebotsanfrage
Offene Schulungen
Offene Schulungen
Überblick .NET-Seminare
.NET/C#-Basisseminar
WPF (Desktop)
ASP.NET/AJAX (Web)
WCF/WF (SOA)
ADO.NET/EF (Data)
Windows PowerShell
Kostenfreie Inhalte
Kostenfreie Inhalte
Community-Inhalte
.NET/C#/Visual Studio
Web/ASP.NET/JavaScript
PowerShell
Windows/WinRT
Lexikon/Glossar
Foren
Weblog
Downloads
Newsletter
Registrierte Nutzer
Registrierte Nutzer
Anmeldung/Login
Leser-Registrierung
Gast-Registrierung
Vorträge/Publikationen
Vorträge/Publikationen
Konferenzvorträge
Redaktionsbüro
Fachbücher
Fachartikel
Leser-Portal
Autoren gesucht!
Rezensionen
Über uns
Über uns
Dr. Holger Schwichtenberg
Team
Partner
Referenzkunden
Kundenaussagen
Referenzprojekte
Kernkompetenzen
Weitere Websites
Impressum
Rechtliches
Datenschutzerklärung
Hilfe
Hilfe
Site Map
Tag Cloud
Suche
Website-FAQ
Technischer Support
Kontakt

Ausgabe der Benutzersitzungen und geöffneten Dateien
Codebeispiel für Visual Basic .NET (VB.NET) und CSharp (C#)

Liste aller Codebeispiele

Ausgabe der Benutzersitzungen und geöffneten Dateien

Ein Beispiel zum Einsatz der Klasse System.DirectoryServices.DirectoryEntry aus der .NET-Klassenbibliothek.

Autor: Dr. Holger Schwichtenberg 

Beschreibung

Die in den Collections enthaltenen Session- bzw. Resource-Objekte besitzen keinen ADSI-Pfad, da sie keine persistenten Verzeichnisobjekte sind. Sie sind daher bei der Instanziierung eines DirectoryEntry-Objekts nicht direkt einzeln ansprechbar, sondern können nur – wie im Folgenden gezeigt – über den Durchlauf durch die Collections angesprochen werden.

Bei der Resource-Collection kommt es beim Zugriff via COM-Interoperabilität zu einem Problem, weil die Collection ein Objekt mehr enthält, als es tatsächlich geöffnete Pfade gibt. Dieses letzte Objekt ist nicht auswertbar; daher die Fehlerbehandlung mit Try...End Try in obiger Routine.

Programmcodebeispiele Visual Basic .NET (VB.NET)

' --- Auflisten der Sitzungen und Ressourcen
Sub WINNT_SitzungenRessourcen()
Dim fs As DirectoryEntry
Dim iads_fs As ActiveDs.IADsFileService
Dim oSession As ActiveDs.IADsSession
Dim oResource As ActiveDs.IADsResource

' --- Bindung an Dienstobjekt
fs = New _
DirectoryEntry("WinNT://sonne2000/lanmanserver")
' -- Bindung an Fileservice
iads_fs = fs.NativeObject
' -- Sitzungen
For Each oSession In iads_fs.Sessions
  say(oSession.User & " ist verbunden von " & _
  oSession.Computer & " seit " & _
  oSession.ConnectTime & " Sekunden")
Next
' -- Ressourcen
For Each oResource In iads_fs.Resources
  Try
   out(oResource.User & " verwendet " & _
   oResource.Path)
  Catch
   out("/// nicht auswertbares Resource-Objekt!")
  End Try
Next
End Sub

Programmcodebeispiele CSharp (C#)

using System;
using System.Collections;
using System.DirectoryServices;

namespace FCL_Buch._System_DirectoryServices {

  public class Samples_ADSI_WINNT {
public void WINNT_SitzungenRessourcen() {

   // Auflisten der Sitzungen und Ressourcen
   // Bindung an Dienstobjekt
   DirectoryEntry fs = new DirectoryEntry("WinNT://sonne2000/lanmanserver");
   // Bindung an Fileservice
   ActiveDs.IADsFileServiceOperations iads_fs = (ActiveDs.IADsFileServiceOperations)fs.NativeObject;
   // Sitzungen
   foreach (ActiveDs.IADsSession oSession in iads_fs.Sessions()) {
   FclOutput.PrintOut(oSession.User + " ist verbunden von " + oSession.Computer + " seit " +
   oSession.ConnectTime + " Sekunden");
   }
   // Ressourcen

   foreach (ActiveDs.IADsResource oResource in iads_fs.Resources()) {
   try {
   FclOutput.PrintOut(oResource.User + " verwendet " + oResource.Path);
   } catch {
   FclOutput.PrintOut("/// nicht auswertbares Resource-Objekt!");
   }
  
   }
   }
  }
}

Querverweise

Definition '.NET Framework Class Library'
Verfügbarkeit der Klasse 'System.DirectoryServices'
Übersicht über den FCL-Namensraum 'System.DirectoryServices'
Portal dotnetframework.de