[PowerShell 3.0] DLL einlesen und mit deren Funktionen arbeiten

KaeTuuN

Rear Admiral
Registriert
Okt. 2002
Beiträge
5.304
Hallo zusammen,

ich stehe aktuell vor dem Problem, dass ich eine DLL in PowerShell eine DLL einlesen möchte und anschließend deren Funktionen nutzen will. Konkret handelt es sich um die DLL aus folgendem Projekt: https://code.google.com/p/cassia/
Das einlesen an sich ist kein Problem mit:
Code:
$Cassia = [System.Reflection.Assembly]::LoadFile("C:\Beispiel\Cassia.dll")
Anschließend bekomme ich auch mit dem Befehl "$Cassia.GetExportedTypes()" eine entsprechende Auflistung, woraus ich schließe, dass das einbinden erfolgreich war.
Mein Problem ist nun, wie ich die Funktionen der DLL nutzen kann. Könnte mir das vielleicht jemand erklären?
Perfekt wäre, wenn jemand den untenstehenden .NET Beispielcode in PowerShell umschreiben könnte.
Code:
ITerminalServicesManager manager = new TerminalServicesManager();
using (ITerminalServer server = manager.GetLocalServer())
{
    server.Open();
    foreach (ITerminalServicesSession session in server.GetSessions())
    {
        Console.WriteLine("Hi there, " + session.UserAccount + " on session " + session.SessionId);
        Console.WriteLine("It looks like you logged on at " + session.LoginTime +
                          " and are now " + session.ConnectionState);
    }
}
Vielen Dank schon einmal im vorraus!

Mfg Kae
 
Hauptsache weiter :-D
Powershell + .NET ist Stellenweise recht tricky..

Darf man fragen, was du da zusammenscriptest?
Sieht aus wie ein Modul zum Anzeigen der Terminal Server in einem Netzwerk.
 
Ich will herausfinden ob und wenn ja welcher User Remote angemeldet ist. Wichtig ist, das hierbei auch inaktive Sessions gezählt werden. Je nach Ergebnis sollen dann bestimmte Aktionen ausgeführt werden. Das ganze ist für einen Shutdownmanager, welcher in Abhängigkeit von diversen Variablen Rechner ausschalten, neu starten, in den Energiesparmodus oder Ruhezustand versetzen kann oder Benutzer abmelden.
Überprüft werden dabei angemeldete Benutzer, IPs, OUs oder Registry Einträge. Zusätzlich gibt es die Möglichkeit Hinweisfenster einzublenden und Timer zu setzen.
Falls du Interesse hast, kannst du mir gerne mal ne PN schreiben. :)

Mfg Kae
 
Zurück
Oben