gpt4 book ai didi

sql-server - 匿名用户执行的远程Powershell脚本

转载 作者:行者123 更新时间:2023-12-02 22:11:21 25 4
gpt4 key购买 nike

我们正在使用pstrami运行部署脚本。部署的一部分是执行数据库迁移。迁移使用带有集成安全性的连接字符串。

当脚本在远程计算机上执行时,迁移失败并显示一条SQL错误,提示用户“NT AUTHORITY\ANONYMOUS LOGON”的登录失败

执行脚本的人是域管理员。我们运行的其他部署与启动该过程的用户一起执行远程脚本。

最佳答案

这是方案:
您从desktopA运行pstrami(部署)脚本。该脚本将您的安装文件推送到serverA。然后,在serverA上,脚本将作为从 table 面A启动脚本的人员远程运行。步骤之一是使用使用“集成安全性”的连接字符串参数使用fluentmigrator运行upup的sql数据库,并且该数据库位于serverB上。

连接字符串示例:

$migration_db_connection = Data Source=serverB;Initial Catalog=PropertyDb;Integrated Security=SSPI; 
.\migrate.exe /conn "$migration_db_connection" /db SqlServer /a $migration_assembly /profile DEBUG

Pstrami使用powershell命令invoke-command,该命令使用您作为默认用户运行脚本的帐户。因此,发生的事情是,当您以“jonDoe”的身份从desktopA运行脚本时,它将在serverA上进行身份验证。因此,您的pstrami脚本在serverA上的“jonDoe”下运行。当您在服务器A上以“jonDoe”的身份执行fluentmigrator脚本时,fluentmigrator返回错误,用户'NT AUTHORITY\ANONYMOUS LOGON'的登录失败。在IIS中,当您需要访问IIS服务器之外的另一个资源并且发生某些相当常见的情况时,您会遇到一种有趣的情况。使用集成安全性时,将禁用匿名访问并启用模拟,将启动 Windows安全措施,并且不允许您的站点访问任何网络服务器上的资源。 (http://weblogs.asp.net/owscott/archive/2008/08/22/iis-windows-authentication-and-the-double-hop-issue.aspx)

这就是我如何解决Windows身份验证和遇到的Double Hop问题的方法。直接在sql数据库服务器上运行迁移脚本,并将其作为pstrami环境中的服务器目标包含在内。

例子:
Environment "dev" -servers @(
Server "serverA" @("InstallWeb")
Server "serverB" @("RunMigrations")
)

有关Double Hop的更多信息
  • http://www.spdoctor.net/Pages/message.aspx?name=login-failed-for-user-bdc
  • http://www.sqlservercentral.com/blogs/sqlsandwiches/2011/06/20/double-hop-of-doom/
  • 关于sql-server - 匿名用户执行的远程Powershell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10852878/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com