mayho33
Goto Top

C-Sharp .Net-Standard DLL und Powershell CmdLet

Hi @ All

Ich habe als kleine Spielerei vor ein CmdLet in C# zu erstellen, bin auf diesem Gebiet aber noch grün hinter den Ohren, sprich, habe noch nie ein CmdLet in C# erstellt.
Nun habe ich ein paar Fragen die MS anscheinend vergessen hat zu erklären und hoffe auf euer Know-How und eure Unterstützung.

Als Einstieg arbeite ich nach dieser Anleitung: https://docs.microsoft.com/de-de/powershell/scripting/developer/module/w ...


1. Thema:
in PS ist es ganz einfach für die laufende Session ein Variable zu erstellen:

$env:MyVar = "das ist ein test"  
$Global:MyVar2 = ${env:ProgramFiles(x86)}
...
...

Frage:
Wie mache ich das in einem CmdLet das als C#- .Net-Standard DLL vorliegt?

Ziel ist es beim Laden des CmdLet die Variablen gleich bereitzustellen.

EDIT 27.04.2020
OK! Thema 1 ist auch gelöst. Anstatt...

public class MeineKLasse : Cmdlet
{}

... zu verwenden, habe ich...
public class MeineKLasse : PSCmdlet
{
    var a = this.MyInvocation.PSScriptRoot;
}

...verwendet. Dann gets auch mit MyInvocation.

2.Thema
Ein CmdLet sollte anders als ein Modul sinnigerweise gleich im System registriert sein, sodass es nicht erst importiert werden muss vor der Verwendung.
Ich denke da an z.B. Get-Process usw. Die sind nach dem starten von z.B. der ISE sofort verwendbar.

Frage:
Wie mache ich das?

EDIT 27.04.2020

Auch hier habe ich eine Lösung gefunden. MS beschreibt es, wieder mal verteilt auf dutzende Sites, eh irgendwo.

3.Thema
Ich habe es schon irgendwo gelesen, finde den Artikel aber nicht mehr in dem Erklärt wurde wie man ein CmdLet das in C# entwickelt wurde gleich von VisualStudio heraus testen kann. Kann mich nur noch erinnern, dass man in den Debugger-Settings etwas eintragen muss damit die ISE gleich gestartet und das CmdLet automatisch geladen wird.

Frage:
Hat jemand Ahnung wie das nochmal geht?

EDIT 24.04.2020:
Thema 3 ist erledigt. Habe den Artikel mittlerweile gefunden:
https://www.powershellmagazine.com/2014/04/08/basics-of-writing-a-powers ...


Vielen Dank für eure Unterstützung!

Grüße!

mayho

Content-Key: 566938

Url: https://administrator.de/contentid/566938

Printed on: May 7, 2024 at 09:05 o'clock