模仿管理员用户并运行Powershell脚本

时间:2018-10-25 16:43:06

标签: c# powershell powershell-v3.0 impersonation

我正在尝试使用模拟库以其他用户身份运行脚本。这是一个C#winforms应用程序。当我运行此代码时,它不会更改密码。实际上,我在此块中输入的powershell脚本均不起作用。这是代码:

 PowerShell ps = PowerShell.Create();
                    Runspace runspace = 
 RunspaceFactory.CreateRunspace();
                    runspace.Open();
                    ps.Runspace = runspace;

                    //Run the password reset script under my admin account

                    var credentials = new 
  UserCredentials("user@domain.com", "password");
                    Impersonation.RunAsUser(credentials, LogonType.Interactive, () =>
                  {
                      ps.AddScript(@"Resources\test.ps1").AddParameter("username", username);
                      ps.Invoke();
                  });

任何有用的线索都将不胜感激。

1 个答案:

答案 0 :(得分:1)

我忘记发布答案了。我没有在C#中运行脚本,而是在远程服务器管理工​​具中使用了活动目录库。您可以在这里下载:https://www.microsoft.com/en-us/download/details.aspx?id=45520