Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

51 Commits

Repository files navigation

PowerShellRunner

PowerShellRunner - это библиотека для типизированной работы с PowerShell.

Пример типизированного описания командлета в коде:

publicclassConvertToSecureStringCmdlet:IPowerShellCmdlet<SecureString>{publicstringCmdletName=>"ConvertTo-SecureString";publicIPowerShellCmdletParameter<string>String{get;}publicIPowerShellCmdletParameter<SwitchParameter>AsPlainText{get;}publicIPowerShellCmdletParameter<SwitchParameter>Force{get;}}

Пример формирования комнады:

ConvertToSecureStringCmdletcmdlet=newConvertToSecureStringCmdlet().Set(c =>c.String,"Value").Set(c =>c.AsPlainText,true).Set(c =>c.Force,false);PowerShellQueryquery=cmdlet.BuildFromCmdlet();// query.Query: ConvertTo-SecureString -String "Value" -AsPlainText

Пример выполнения комнады с сохранением в переменную:

PowerShellVariable<SecureString>result=powerShellAccessor.SelectCmdlet(cmdlet).ExecuteAndSetTo("$converted_string");

При выполнении командлета автоматически резолвится тип результата / тип переменной в которую будет записан результат. В дальнейшем переменную можно передавать в другие командлеты:

publicclassSomeOtherCmdlet:IPowerShellCmdlet<string>{publicstringCmdletName=>"Some-Other";publicIPowerShellCmdletParameter<SecureString>String{get;}}PowerShellVariable<SecureString>convertedString=powerShellAccessor.SelectCmdlet(cmdlet).ExecuteAndSetTo("$converted_string");SomeOtherCmdletotherCmdlet=newSomeOtherCmdlet().Set(c =>c.String,convertedString);IReadOnlyCollection<string>result=powerShellAccessor.SelectCmdlet(otherCmdlet).Execute();

About

NuGet package for executing PowerShell commands with strong typing

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages