首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C#中执行Powershell命令(get-user -Identity "John Doe“| FL)

在C#中执行Powershell命令(get-user -Identity "John Doe“| FL)
EN

Stack Overflow用户
提问于 2011-11-09 18:23:47
回答 2查看 5.4K关注 0票数 1

我尝试在下面的C#代码中执行_Get-User -Identity "John Doe" | FL_命令。

代码语言:javascript
运行
AI代码解释
复制
       PowerShell powershell = PowerShell.Create();
       powershell.AddCommand("get-user");
       powershell.AddParameter("Identity", UserName.Text);
       try
       {
           runspace.Open();
           powershell.Runspace = runspace;
           Collection<PSObject> results = powershell.Invoke();

           var builder = new StringBuilder();
           foreach (var psObject in results)
           {
               builder.AppendLine(psObject.ToString() + "\r\n");
           }
           ResultBox.Text = Server.HtmlEncode(builder.ToString());
       }

我应该在哪里添加_FL_命令?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-09 19:00:56

我已经搜索了很多。您可以更改常规的powershell脚本,而不是"WriteWhatYouWantToDo“。

代码语言:javascript
运行
AI代码解释
复制
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
RunspaceInvoke invo = new RunspaceInvoke(runspace);
invo.Invoke("Set-ExecutionPolicy Unrestricted");
Pipeline pipeline = runspace.CreatePipeline();

Command command = new Command("get-module -listAvailable | import-module\n" + WriteWhatYouWantToDo);

pipeline.Commands.Add(command);
pipeline.Commands.Add("Out-String");
try
{
Collection<PSObject> results = pipeline.Invoke();
runspace.Close();
StringBuilder stringBuilder = new StringBuilder();
foreach (PSObject obj in results)
{
stringBuilder.AppendLine(obj.ToString());
}

string result1 = stringBuilder.ToString();
string result = result1.Substring(0, 250); //define global scope
}
catch (Exception ex)
{

}
票数 -1
EN

Stack Overflow用户

发布于 2011-11-09 18:43:53

当您添加每个命令时,它会被添加到管道中。所以如果你想做format-list,你可以把它添加到管道中:

代码语言:javascript
运行
AI代码解释
复制
   powershell.AddCommand("get-user");
   powershell.AddParameter("Identity", UserName.Text);
   powershell.AddCommand("format-list");'
   //powershell.AddCommand("out-string");

但是我不确定您想要做什么,因为这样的事情可以使用results在C#中完成

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8069676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档