登录失败:Windows Server 2012 R2 上用于远程 PS 脚本执行的未知用户名或密码错误
Posted
技术标签:
【中文标题】登录失败:Windows Server 2012 R2 上用于远程 PS 脚本执行的未知用户名或密码错误【英文标题】:Logon failure: unknown username or bad password error on Windows Server 2012 R2 for Remote PS script execution 【发布时间】:2020-09-09 10:34:43 【问题描述】:我正在尝试从 TeamCity Windows Slave 向另一台服务器运行 powershell 脚本以部署我的应用程序。
这是构建配置:
username = "<username>"
$password = "<password>"
$secstr = New-Object -TypeName System.Security.SecureString;
$password.ToCharArray() | ForEach-Object $secstr.AppendChar($_)
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $secstr;
Invoke-Command -ComputerName "<computer_name>" -Credential $cred -FilePath "deploy.ps1"
我收到以下错误。
following error message : Logon failure: unknown user name or bad password.
[13:57:52] [Step 1/1] For more information, see the about_Remote_Troubleshooting Help topic.
我只使用了正确的用户名和密码。 我还检查了本地用户安全策略。我错过了什么吗?
【问题讨论】:
【参考方案1】:这只是一个粘贴错误,错过了用户名中的 $ 吗? 用户名和密码在脚本之外可以正常工作吗? 变量是否被正确替换。日志显示吗? 我以前从未使用过该构造来制作凭据。这里提到的这个不起作用。
https://pscustomobject.github.io/powershell/howto/PowerShell-Create-Credential-Object/
【讨论】:
我正在传递远程服务器的本地管理员凭据。它会起作用吗? @sriramsm04 他们在做你试图在脚本之外做的事情吗?如果他们不这样做,那就是你的第一个问题。如果您只是硬编码并替换用户名和密码来尝试,该脚本是否有效。如果你传入verbose,脚本会给你写什么 所以问题在于用户是本地管理员,因为它不能用于远程运行命令。我使用了我的管理员用户并且能够达到同样的效果。以上是关于登录失败:Windows Server 2012 R2 上用于远程 PS 脚本执行的未知用户名或密码错误的主要内容,如果未能解决你的问题,请参考以下文章