PowerShell远程处理跨域的许多服务器
问题描述:
我是DBA。我正在尝试写一堆可以从一台中央服务器执行的脚本。理想的做法是将所有来自中央服务器的脚本发送到跨越多个胜出域的50多台服务器(用于数据库管理目的)。PowerShell远程处理跨域的许多服务器
我遇到的问题是 - 安全性。看起来像PowerShell Remoting是要走的路。但是,当我将脚本发送到另一台服务器时,出现“未进行数字签名”的错误。
我可以'自我签名'。但是,如果只在本地机器上信任该证书。所以这个选项已经结束。
也许证书颁发机构是一种方式。或者添加可信主机。我只是不知道这个,所以如果你知道任何博客文章或如何做到这一点 - 这将是很大的帮助。
答
这是一个安全风险,但总有可能将执行策略设置为RemoteSigned,在每台服务器上保留一个本地存储库,并根据需要通过PS-Remoting调用这些存储库。我不喜欢那个想法。
如果您正在执行远程执行,您需要签署脚本。详细的步骤可以找到here。它甚至包括通过GPO部署证书,以便它可信任域。
答
我会使用PowerShell远程处理。这将允许您将它作为远程命令而不是远程脚本运行。如果您在“持续会话”之后发现了SimpleTalk文章的底部this。它显示了针对每个服务器而不是脚本执行一组命令的选项。这应该防止处理远程签名问题并提供更多的控制。
在远程会话上处理的唯一事情就是您的凭据。我没有在多个域中尝试过这种方法,但是有几个独立的服务器。
你是说'发送脚本到另一台服务器'是什么意思? –
我有一堆已经写好的函数。要使用这些功能,我必须将RDP放入每台服务器并在本地运行。由于本地和远程会话是完全独立的,并且没有看到对方的变量,我认为这样做的方法是通过远程会话将WHOLE脚本发送到远程服务器。 –