将凭据从本地系统帐户添加到不同的帐户

Adding Credentials to diffrent account from local system account

我们使用章鱼进行部署,触手是 运行 和 "local system account" 我希望触手为不同的帐户添加凭据。但是我没有运气。

到目前为止,我尝试创建一个 c# 程序,它以其他用户的身份启动一个新进程,并调用 cmdkey.exe

    private static void CallCmdKey(string runAsDomain, string runsAsUser, string runAsPass, string target, string user, string pass)
    {

        System.Diagnostics.Process proc = new System.Diagnostics.Process();

        proc.StartInfo.Arguments = $"/generic:{target} /user:{user} /pass:{pass}";
        proc.StartInfo.FileName = Environment.GetEnvironmentVariable("WINDIR") + "\system32\cmdkey.exe";
        Console.Out.WriteLine(proc.StartInfo.Arguments);
        proc.StartInfo.Domain = runAsDomain;
        proc.StartInfo.UserName = runsAsUser;
        proc.StartInfo.LoadUserProfile = true;


        SecureString sec = new SecureString();
        runAsPass.ToCharArray().ToList().ForEach(sec.AppendChar);
        proc.StartInfo.Password = sec;
        proc.StartInfo.WorkingDirectory = ".";

        proc.StartInfo.UseShellExecute = false;

        proc.Start();
        proc.WaitForExit();
        Console.Out.WriteLine("done");
    }

但是访问被拒绝失败。

然后我像这样尝试了 power shell 和 psexec:

$psexec = "C:\temp\psexec.exe"
Invoke-Command -ScriptBlock{&$psexec -accepteula -u $WEB02AP2User -p $GISWEB02AP2Pass cmd /c cmdkey /generic:ffff /user:mufasa /pass:yoyo}

但它失败了

访问被拒绝。 PsExec 无法启动 cmd: 远程脚本失败,退出代码为 5

出于安全原因,我不允许更改触手服务的帐户

我该如何解决这个问题

我找不到解决此问题的方法。唯一的解决方法是让 octopusservice 运行 作为特定的用户帐户