![Powershell Remoting 始终以匿名身份登录](https://linux22.com/image/544772/Powershell%20Remoting%20%E5%A7%8B%E7%BB%88%E4%BB%A5%E5%8C%BF%E5%90%8D%E8%BA%AB%E4%BB%BD%E7%99%BB%E5%BD%95.png)
我需要一些帮助来自动部署我域上的某些应用程序。部署过程遵循 Powers Shell 脚本中的以下基本流程:
- 停止服务
- 复制出申请
- 登录至少 1 个远程服务器并运行“\Services\Shipping\ShippingService.exe /deploy”
- 启动服务。
我想删除第 3 步并将其集成到我的脚本中。到目前为止,我得到的是
$starter = New-PSSession -ComputerName ServerName -Credential:'domain\user' -Authentication Kerberos
Invoke-Command -Session $starter -ScriptBlock {
\Services\Shipping\ShippingService.exe /deploy
}
这被配对为仅 1 个应用程序,但实际上有 5 个。我遇到的问题是这些应用程序使用集成安全性来访问 Sql Server 数据库,因此失败并显示“System.Data.SqlClient.SqlException (0x80131904):用户‘NT AUTHORITY\ANONYMOUS LOGON’登录失败。”
如何使我的远程会话按照指定的域\用户运行?
答案1
您遇到了所谓的“双跳”场景。您正在远程访问一台计算机,然后从那里访问远程共享。这可以使用 PowerShell 实现,但您必须使用 CredSSP 身份验证。