登录失败: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 脚本执行的未知用户名或密码错误的主要内容,如果未能解决你的问题,请参考以下文章

由于登录失败,SQL Server 2012 无法启动

由于登录失败,SQL Server 2012无法启动

SQL SERVER 2012 新增数据库显示登录失败

Windows Server 2012 R2/2016 此工作站和主域间的信任关系失败

安装SQL Server 2012 时出现设置账户权限失败

windows server 2012 端口访问失败