将凭据从本地系统帐户添加到不同的帐户
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 运行 作为特定的用户帐户
我们使用章鱼进行部署,触手是 运行 和 "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 运行 作为特定的用户帐户