小编Nic*_*bau的帖子

将C#参数传递给Powershell脚本 - 无法验证参数'Identity'的参数

我试图在C#中编写一个Windows窗体应用程序,为指定用户输出AD属性.我希望它工作的方式是用户将一个值(用户名)输入到文本框中,该文本框作为参数传递给Powershell脚本,输出显示在表单中.

我用于创建参数和调用脚本的C#代码如下:

private string RunScript(string scriptText)
    {
        // create Powershell runspace 
        Runspace runspace = RunspaceFactory.CreateRunspace();

        // open it 
        runspace.Open();

        RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace);

        // create a pipeline and feed it the script text 
        Pipeline pipeline = runspace.CreatePipeline();
        pipeline.Commands.AddScript(scriptText);
        pipeline.Commands.Add(new Command("Set-ExecutionPolicy Unrestricted -Scope Process", true));

        // "Get-Process" returns a collection of System.Diagnostics.Process instances. 
        pipeline.Commands.Add("Out-String");

        //Create parameter and pass value to script
        String username = textBox3.Text;
        String scriptfile = @"c:\\scripts\\getpasswordexpirydate.ps1";
        Command myCommand = new Command(scriptfile, false);
        CommandParameter testParam = new CommandParameter("username", …
Run Code Online (Sandbox Code Playgroud)

c# parameters powershell param

5
推荐指数
1
解决办法
414
查看次数

标签 统计

c# ×1

param ×1

parameters ×1

powershell ×1