【问题标题】:Powershell Remoting: access domain resourcesPowershell Remoting:访问域资源
【发布时间】:2020-11-17 09:35:32
【问题描述】:

我在远程运行我的 PS cmdlet 时遇到问题。 Cmdlet 使用 C# 编写,并使用 Windows Auth 执行与 SQL Server 数据库的连接。 当我从远程机器(机器 B)运行它时 - 一切都很好,但是当我尝试远程运行它(从机器 A)时 - 它无法连接到数据库。在这两种情况下,我都在同一个域帐户下运行它(任务管理器还显示机器 B 上的 powereshell.exe 和 wsmprovhost.exe(remote) 都使用同一个帐户)。

在设置 PSSession 时我应该配置什么特别的东西吗?

【问题讨论】:

  • 您应该更新您的原始帖子以包含您正在运行的代码和详细信息以及它如何失败,例如,您是否收到任何错误消息?
  • 我不能分享代码,只是因为调用栈非常庞大,没有多大意义(而且是知识产权,我不能分享)。代码本身很好,否则它不能直接在远程机器上工作。此代码仅在远程运行时不起作用。问题在于 wsmprovhost.exe 中的模拟
  • 所以本地没有错误,目标机器的日志中也没有任何错误?
  • 是的,由于不正确的模拟,它不能只对 SQL Server 进行身份验证(即使任务管理器说“远程进程”正在正确的帐户下运行

标签: powershell powershell-remoting


【解决方案1】:

你能分享错误信息吗?是的,有一些用于设置 PSSession 的预配置,我建议您查看以下链接:

https://www.howtogeek.com/117192/how-to-run-powershell-commands-on-remote-computers/ https://theitbros.com/run-powershell-script-on-remote-computer/

【讨论】:

  • 对不起,你可能误解了我的意思。 PSSession 本身工作正常,我可以对其执行不同的命令。当我尝试执行需要在特定域帐户下运行的特定 cmdlet(模拟)时,问题就开始了。这个 C# 编写的 cmdlet 使用 Windows Auth 对 SQL Server 数据库进行身份验证
  • 另外,这可能有助于更好地理解问题:当我从 v2 的 Azure DevOps“目标机器上的 PowerShell”任务运行此 cmdlet 时 - 它工作正常(但仅适用于 v2,所有其他版本都没有'不工作)
猜你喜欢
  • 2022-09-27
  • 1970-01-01
  • 2021-06-09
  • 2011-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-27
  • 2016-01-23
相关资源
最近更新 更多