Windows Server 2008 Enterprise,不带 Hyper-V x64
我们有一台客户端服务器,我正尝试直接在服务器上使用 power shell 来自动执行一些功能。我安装了网关服务,并可以通过客户端计算机的 RSAT 进行管理,但我希望在服务器本身上安装 cmdlet,以便我可以安排任务在本地运行。
有什么方法可以真正在服务器上安装 AD powershell 工具,或者这必须从客户端机器上完成?
如果是,有什么可行的理由不这样做吗?如果没有,为什么不可能?(只是因为它不受支持,还是有我不理解的技术障碍阻止了它?)
答案1
正如其他人所说,Windows Server 2008(非 R2)上没有本机 AD cmdlet 模块。在类似情况下,我所做的是从安装了 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 客户端计算机——我认为在这种情况下实际连接到域控制器时可能会出现两跳问题。希望这对您有所帮助。
答案2
答案3
您无法在早于 Windows 7 或 Windows Server 2008 R2 的系统上使用 AD cmdlet;它们不可用。
你可以试试Quest 的(免费)AD PowerShell 命令集;在微软实施自己的解决方案之前,它们已经流行了一段时间。