2008 企业版通过 powershell 进行 AD 管理

2008 企业版通过 powershell 进行 AD 管理

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

您可能想要在 2008 机器上安装以下内容:

.NET Framework 4.0(下载

Windows 管理框架 3.0 (下载

答案3

您无法在早于 Windows 7 或 Windows Server 2008 R2 的系统上使用 AD cmdlet;它们不可用。

你可以试试Quest 的(免费)AD PowerShell 命令集;在微软实施自己的解决方案之前,它们已经流行了一段时间。

相关内容