Windows Server 2008企业,没有hyper-v x64
我们有一个客户端服务器,我试图在服务器上直接使用Power Shell自动执行一些function。 我已经安装了网关服务,并且可以通过RSAT从客户端机器进行pipe理,但我希望在服务器上拥有这些cmdlet,以便我可以安排任务在本地运行。
有没有什么办法可以真正得到安装在服务器上的AD PowerShell工具,还是需要从客户机上完成?
如果是这样,有没有可行的理由不这样做? 如果没有,为什么不可能? (只是因为它不被支持,或者是否有技术障碍,我不明白,阻止它?)
正如其他人所说,本机AD cmdlet模块在Windows Server 2008(非R2)上不可用。 我在类似情况下所做的是从安装AD模块的域控制器导入PS会话,然后使用它。 例如:
function Get-ActiveDirectorySession { param( [string]$Server = '2008R2.domain.controller' ) $session = New-PSSession -ComputerName $Server Invoke-Command -Session $session -ScriptBlock {Import-Module ActiveDirectory} return $session }
然后在我想要运行AD cmdlet但没有安装它们的机器上,只需加载上面定义的函数并运行:
Import-PSSession -Session (Get-ActiveDirectorySession) -Module ActiveDirectory | Out-Null
这将为您提供可以在本地运行的AD cmdlet的虚拟副本。 你可以做Get-Help Import-PSSession -Full来获得更多关于这个工作原理的信息。
我不知道这种方法是否可以远程安装到安装了AD cmdlet的Windows 7客户端机器上 – 我认为在这种情况下实际连接到域控制器时可能会出现两跳问题。 我希望这有帮助。
你可能想在你的2008盒子上安装以下内容:
.NET Framework 4.0( 下载 )
Windows Management Framework 3.0( 下载 )
在Windows 7或Windows Server 2008 R2之前的系统上,您只能使用AD cmdlet; 他们不可用。
您可以尝试Quest的(免费)一套AD PowerShell cmdlet ; 在微软实施自己的解决scheme之前,他们已经相当stream行了一段时间。