Как сменить домен компьютера в C # - PullRequest
0 голосов
/ 19 июня 2020

Мне нужно создать систему смены домена и нужно выполнить этот код через C #, но я все перепробовал и не могу. Чтобы запустить сценарий в PowerShell, вы должны инициализировать его от имени администратора. В PowerShell работает без проблем.

Код в Power Shell:

$domain = "NameDomain"`enter code here`
$password = "pwd" | ConvertTo-SecureString -asPlainText -Force
$username = "$domain\User" 
$credential = New-Object System.Management.Automation.PSCredential($username,$password)
Add-Computer -DomainName $domain -Credential $credential -Restart -Force

Код на C #;

var scriptfile = @"$domain = ""dominio""; $password = ""psw"" | ConvertTo-SecureString -asPlainText -Force; $username = ""domain\user""; $credential = New-Object System.Management.Automation.PSCredential($username,$password); Add-Computer -DomainName $domain -Credential $credential -Restart -Force";

Используемый метод:

    private string RunScript(string script)
    {

        Runspace runspace = RunspaceFactory.CreateRunspace();
        runspace.Open();
        Pipeline pip = runspace.CreatePipeline();
        pip.Commands.AddScript(script);
        pip.Commands.Add("Out-String");
        Collection<PSObject> results = pip.Invoke();
        runspace.Close();
        StringBuilder stringBuilder = new StringBuilder();
        foreach (PSObject pSObject in results)
            stringBuilder.AppendLine(pSObject.ToString());
        return stringBuilder.ToString();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...