如何将PSCredential对象从C#代码传递给Powershell函数

我在C#中有一个PSCredential对象,并希望将其作为此Power Shell脚本的参数传递

这是PSCredential对象

PSCredential Credential = new PSCredential ( "bla",blasecurestring)

这是我想在C#中运行的脚本

powershell.AddScript("$s = New-PSSession -ComputerName '" + serverName + "' -Credential " + Credential);

我无法理解这里提供的解决方Pass a Parameter object (PSCredential) inside a ScriptBlock programmatically in C#

编辑:
这件事很有效

powershell.AddCommand("New-PSSession").AddParameter("ComputerName",serverName).AddParameter("Credential",Credential);

但是如何将会话信息保存在变量中呢?我需要它们用于以下命令:

powershell.AddScript(@"Invoke-Command -Session $s -ScriptBlock {" + cmdlet + "}");

解决方法

我现在找到了解决方案.当你知道你做了什么时,这很容易……
powershell.AddCommand("Set-Variable");
powershell.AddParameter("Name","cred");
powershell.AddParameter("Value",Credential);

powershell.AddScript(@"$s = New-PSSession -ComputerName '" + serverName + "' -Credential $cred");
powershell.AddScript(@"$a = Invoke-Command -Session $s -ScriptBlock {" + cmdlet + "}");
powershell.AddScript(@"Remove-PSSession -Session $s");
powershell.AddScript(@"echo $a");

Credential是C#PSCredential对象

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...