System.Diagnostics.Process работает на одном p c, но не работает с другими - PullRequest
0 голосов
/ 31 января 2020

Я использую c# Visual Studio 2015, я пытался сменить IP как администратор, у меня есть пароль локального администратора для P C, поэтому я попробовал этот код, он работает правильно на моем P C.

проблема в том, что когда я получил файл .exe из решения -> bin, затем попытался использовать его на другом P C, он не работает, хотя локальный администратор пароль тот же.

    private void button1_Click(object sender, EventArgs e)
    {
    string sysAdminUser = "test1";
    string sysAdminPass = "test2";

            System.Diagnostics.Process proc = new System.Diagnostics.Process();
            System.Security.SecureString ssPwd = new System.Security.SecureString();
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.FileName = @"cmd.exe";
            proc.StartInfo.Arguments = "/c netsh interface ip set address \"Ethernet\" static 192.168.1.200 255.255.255.0 192.168.1.1";
            proc.StartInfo.Domain = "";
            proc.StartInfo.Verb = "runas";
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.RedirectStandardError = true;
            proc.StartInfo.UserName = sysAdminUser;
            string password = sysAdminPass;
            for (int x = 0; x < password.Length; x++)
            {
                ssPwd.AppendChar(password[x]);
            }
            password = "";
            proc.StartInfo.Password = ssPwd;
            proc.Start();    

    } 
...