gpt4 book ai didi

c# - 使用 C# 将变量分配给 powershell

转载 作者:行者123 更新时间:2023-12-02 23:05:25 25 4
gpt4 key购买 nike

我正在尝试调用一个 powershell 脚本并传递一个参数。我非常想最终传递一个以上的参数

        RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create();
Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
runspace.Open();
RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace);

Pipeline pipeline = runspace.CreatePipeline();

String scriptfile = "..\\..\\Resources\\new group.ps1";

Command myCommand = new Command(scriptfile, false);

CommandParameter testParam = new CommandParameter("test3");

myCommand.Parameters.Add(testParam);


pipeline.Commands.Add(myCommand);
Collection<PSObject> psObjects;
psObjects = pipeline.Invoke();
runspace.Close();

问题似乎是……嗯,什么也没发生。这是如何正确分配变量?提供测试powershell脚本

# creates group
net localgroup $username /Add
# makes folder
#mkdir $path

最佳答案

这行代码:

CommandParameter testParam = new CommandParameter("test3");

创建一个名为 test3 的参数,其值为 null。我怀疑您想创建一个命名参数,例如:

CommandParameter testParam = new CommandParameter("username", "test3");

并且您的脚本需要配置为接受参数,例如:

--- Contents of 'new group.ps1 ---
param([string]$Username)
...

关于c# - 使用 C# 将变量分配给 powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11849712/

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