我需要帮助解决我一周来一直试图解决的问题。
我有一个 PowerShell 脚本,它从 Office365 环境返回一个列表 os 用户。
如果我从我的 PowerShell 控制台(我的机器)运行脚本,脚本会返回预期的数据。如果我从 Server (W2008 R2 SP1) PowerShell 控制台运行脚本,脚本会返回预期的数据。如果我在我的机器上调试我的 C# WebService 代码(从其中执行脚本),srcipt 会返回预期的数据。
问题:如果我调用托管在服务器中的 WebService,脚本会返回 NOTHING。
代码:
RunspaceConfiguration runspcConfig = RunspaceConfiguration.Create();
Runspace run = RunspaceFactory.CreateRunspace(runspcConfig);
run.ApartmentState = System.Threading.ApartmentState.STA;
run.ThreadOptions = PSThreadOptions.UseCurrentThread;
run.Open();
Pipeline pipeline = run.CreatePipeline();
Command cmd = new Command("PathScript.ps1");
cmd.Parameters.Add(new CommandParameter("DOMAIN", "domain.onmicrosoft.com"));
cmd.Parameters.Add(new CommandParameter("PRODUCT", "productReference"));
pipeline.Commands.Add(cmd);
Collection<PSObject> users=pipeline.Invoke();
终于发现错误:'Microsoft.Online.Administration.Automation.ConnectMsolService'的类型初始化器抛出异常。
用户和密码正确,IUSR和“ApplicationPool用户”都包含在Administrator组中。
任何想法?