Vielen Dank an alle für Ihre Beiträge. Ich habe Richard Bergs Beitrag als Antwort markiert, weil er dem, was ich suche, am ähnlichsten ist.
Alle Ihre Antworten haben mich auf den Weg gebracht, der am vielversprechendsten erscheint: In seinem Blog-Beitrag schlägt Keith Dahlby ein Get-Type-Commandlet vor, das die einfache Erstellung von Typen für generische Methoden ermöglicht.
Ich denke, es gibt keinen Grund, dies zu erweitern, um auch einen vordefinierten Pfad von Assemblys nach einem Typ zu durchsuchen.
Haftungsausschluss: Das habe ich noch nicht gebaut ...
Hier ist, wie man es benutzen könnte:
$path = (System.Collections.Generic, FooCompany.Bar.Qux.Assembly.With.Ridiculous.Long.Namespace.I.Really.Mean.It)
$type = get-type -Path $path List Thingamabob
$obj = new-object $type
$obj.GetType()
Dies würde zu einer schönen generischen Liste von Thingamabob führen. Natürlich würde ich alles ohne Pfaddefinition in nur einer anderen Dienstprogrammfunktion zusammenfassen. Der erweiterte get-Typ würde einen Schritt zum Auflösen eines bestimmten Typs gegen den Pfad enthalten.
using
Anweisung eingeführt. Sie können dies für .net-Namespaces oder Module verwenden (dies ist eine der wenigen Möglichkeiten, benutzerdefinierte Klassen zu importieren). Die Syntax lautetusing namespace Name.Space.Here
oderusing module C:\Path\to\manifest
. Die einzige Voraussetzung ist, dass es vor allen anderen Anweisungen in Ihrem Skript steht (sogar vor dem Parameterblock)