1
我發現了一篇technet博客文章,表示可以讓PowerShell使用C#代碼。 文章:Using CSharp (C#) code in Powershell scripts讓PowerShell腳本使用C#代碼,然後將參數傳遞給Main方法
我發現我需要的C#代碼在PowerShell中工作的格式,但如果它沒有通過Main
方法的參數([namespace.class]::Main(foo)
)腳本拋出一個錯誤。
有沒有一種方法,我可以傳遞一個「開」或「關」字符串的主要方法,然後根據哪個字符串傳遞運行if語句?如果這是可能的,你可以提供示例和/或鏈接?
下面是我目前試圖構建我的代碼的方式。
$Assem = @(//assemblies go here)
$source = @"
using ...;
namespace AlertsOnOff
{
public class onOff
{
public static void Main(string[] args)
{
if(args == on)
{//post foo }
if(arge == off)
{ //post bar }
}
"@
Add-Type -TypeDefinition $Source -ReferencedAssumblies $Assem
[AlertsOnOff.onOff]::Main(off)
#PowerShell script code goes here.
[AlertsOnOff.onOff]::Main(on)
我同意邁克在這裏。 OP的代碼看起來像是一個帶有標準Main入口點的exe文件。將其修改爲圖書館將會更直接。另外,如果您在這裏使用單引號字符串,則不必在其中使用雙引號。 :-) – 2014-09-05 22:52:16