Ist es möglich, DLL hinzuzufügen, die PowerShell-Cmdlet zu C# -Projekt implementiert und seine Funktionen aufrufen, wie Sie normalerweise mit Klassen tun? Das Problem besteht darin, dass das Cmdlet keine geeigneten Funktionen zum Aufrufen hat. Es hat invoke
und andere Sachen stattdessen.Verwenden Sie Funktion von Powershell-Cmdlet dll
Soweit ich verstehe, einen anderen Weg, es zu tun ist System.Management.Automation
Namespace zu verwenden. Aber ich befürchte, dass es zu Leistungseinbußen kommen wird, wenn ich die Funktion 7000 Mal hintereinander ausführen werde.
Um genau zu sein Ich habe ein Wohnheim wie Remove-NAVApplicationObjectLanguage
für MS Dynamics Nav, die Dateien verarbeiten und 7000 Dateien zu verarbeiten. Ich möchte es in die Bibliothek einpacken und es mit meiner zusätzlichen Verarbeitung auf eine für mich bequeme Weise aufrufen.
Der Leistungsaufwand eine Instanz des cmdlet in Code 7000 mal von Aufrufen würde nicht in der Befehlszeile von Aufrufen es 7000 mal verschieden sein. Um Ihre Frage zu beantworten: Nein, nicht direkt, die Cmdlet-Schnittstelle verwendet 'protected' Methoden, weshalb Sie' Invoke() 'nur dann sehen, wenn Sie eine Instanz einer Cmdlet-Klasse erstellen. –