gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 20:13:58 26 4
gpt4 key购买 nike

我在 C# 中有一个 PSCredential 对象,想将它作为参数传递给这个 PowerShell 脚本

这是 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);

但是我怎样才能将 session 信息保存在一个变量中呢?我需要它们来执行以下命令:

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 对象

关于c# - 如何将 PSCredential 对象从 C# 代码传递到 Powershell 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13760795/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com