当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] AD 管理的 10 个 PowerShell 技巧

作者:精品下载站 日期:2024-12-14 08:09:23 浏览:14 分类:玩电脑

AD 管理的 10 个 PowerShell 技巧


[玩转系统] AD 管理的 10 个 PowerShell 技巧

对于那些经常需要在 Active Directory 中执行任务(例如创建和管理用户和组或进行故障排除)的用户,PowerShell 提供了许多 cmdlet,让工作变得更轻松。此外,Active Directory 中的域和基础设施的管理可以通过 PowerShell 得到最佳解决。这并不是说 PowerShell 会取代其他管理工具。 PowerShell 补充了 Active Directory 的管理工具,是一种额外的帮助。

开始使用 PowerShell 管理 Active Directory

要使用 PowerShell 管理 Active Directory,必须安装 PowerShell 的 Active Directory 模块。这是标准的 Active Directory 管理工具之一,可以与图形界面工具并行安装。

安装用于 Active Directory 管理的 PowerShell 模块

在域控制器上,PowerShell 模块会与其他管理工具一起自动安装。在 Windows 10 计算机上,使用按需功能执行安装。设置应用程序就是用于此目的。可选功能可以在“设置应用程序”下找到。转到“可选功能”并单击“添加可选功能”。在下面的列表中,您将找到“RSAT:用于 Active Directory 域服务和轻量级目录服务的工具”(参见图 1)。 “安装”按钮用于集成模块。通过安装该功能,还可以使用 Active Directory 的 PowerShell 模块。

[玩转系统] AD 管理的 10 个 PowerShell 技巧

图 1:Windows 10 上“设置”应用程序的屏幕截图,其中“可选功能”选项卡打开

在服务器上,可以通过在服务器管理器或 Windows 管理中心添加 Active Directory 远程管理工具来完成安装(图 2)。您可以在远程服务器管理工具 > 角色管理工具 > AD DS 和 AD LDS 工具中找到 Active Directory 的 PowerShell 模块。

在 Windows 服务器上,还可以从 PowerShell 安装 Active Directory 管理工具。这是通过使用 Install-WindowsFeature RSAT-AD-PowerShell 命令来完成的。

[玩转系统] AD 管理的 10 个 PowerShell 技巧

图 2:在服务器上安装远程管理工具

激活 PowerShell 远程处理并修复连接问题

要在 PowerShell 中远程管理域控制器,必须在目标服务器上启用该功能。为此,您需要在 PowerShell 中输入 Cmdlet Enable-PSRemoting -Force目标服务器上的会话(图 3)。该命令在防火墙中设置适当的例外并启用必要的功能。要撤消操作,请使用 Disable-PSRemoting -Force。

如果连接不起作用,您可以在命令提示符或 PowerShell 中使用 winrm enumerate winrm/config/listener 检查端口 5985 的侦听器是否处于活动状态并绑定到服务器的所有 IP 地址。

[玩转系统] AD 管理的 10 个 PowerShell 技巧

图 3:检查 Windows 服务器上 PowerShell 的远程连接

显示用于 Active Directory 管理的 PowerShell 模块和 cmdlet

使用 cmdlet Get-Command -Module ActiveDirectory 显示所有可以执行的 cmdlet用于管理 Active Directory。 Get-Module -ListAvailable 命令显示所有模块。这允许您查看其他模块的名称并使用 Get-Command 来获取他们的 cmdlet(图 4)。

[玩转系统] AD 管理的 10 个 PowerShell 技巧

图 4:显示 Active Directory 管理 cmdlet

检索 Active Directory 数据

您还可以使用 PowerShell 从各个域获取数据。 Cmdlet Get-ADDomain 用于执行此操作(图 5)。 Cmdlet Get-ADForest 显示有关整体结构的信息。它还可以按列和管道过滤到其他 cmdlet,例如 Get-ADDomainController。如果您想要显示每个域的 FSMO 角色,则 CMDlet 非常有用。每个域中存在三个 FSMO 角色,所有这些角色都通过以下命令显示:

 
Get-ADDomain | Select InfrastructureMaster, RID-Master, PDCEmulator

[玩转系统] AD 管理的 10 个 PowerShell 技巧

图 5:使用 Get-ADDDomain 显示各个 AD 域的数据

架构主机和域名主机对于每个 AD 林都是唯一的。可以使用 Get-ADForest 再次显示此信息:

 
Get-ADForest | Select-Object DomainNamingMaster, SchemaMaster

操作主机角色可以移动到 PowerShell 中的其他域控制器。等效的 cmdlet 是

 
Move-ADDirectoryServerOperationMasterRole

Get-Help Move-ADDirectoryServerOperationMasterRole 显示 cmdlet 的完整语法和一些示例(这通常适用于 PowerShell 中的所有 cmdlet)。

测试 Active Directory 的运行要求

在 PowerShell 中使用以下 cmdlet 来测试域控制器

  • Test-ADDSDomainControllerInstallation:使您能够测试安装域控制器的先决条件。
  • 测试-ADDSDomainController卸载
  • Test-ADDSDomainInstallation:测试在 Active Directory 中安装新域的先决条件
  • Test-ADDSForestInstallation:测试在 Active Directory 中安装新林域的先决条件
  • 测试-ADDSReadOnlyDomainControllerAccountCreation

要运行测试,必须在各个地方输入密码。但是,相应的 cmdlet 仅接受它们作为安全输入。该命令的示例是:

 
Test-ADDSDomainControllerInstallation -DomainName -SafeModeAdministratorPassword (Read-Host -Prompt Kennwort -AsSecureString)

安装域控制器

安装 Active Directory 服务器角色后,您可以开始设置域。要设置 Active Directory,请使用以下 cmdlet:

 
Invoke-Command {Install-ADDSDomainController -DomainName -Credential (Get-Credential) -ComputerName

使用 Powershell 创建 AD 对象

Microsoft 提供了许多 cmdlet,用于使用 PowerShell 检索 Active Directory 对象,例如计算机、用户或组。获取列表的最快方法是使用 Get-Command Get-Ad* 命令。还有许多用于创建新对象的 cmdlet。要显示列表,请输入 Get-Command New-Ad*

可以使用 Get-Command Remove-Ad* 显示删除对象的命令列表。对 Active Directory 对象的更改是通过使用 Set- cmdlet 进行的。使用 Get-Command Set-Ad* 显示它们的列表。

使用 PowerShell 查询和设置删除保护

除了可以在图形用户界面中进行设置之外,还可以在PowerShell中查询和设置Active Directory中的删除保护。要查询对象的删除保护,可以使用以下命令:

 
Get-ADObject ‹DN of object› -Properties ProtectedFromAccidentalDeletion

可以通过以下方式激活删除保护:

 
Set-ADObject ‹DN of object› -ProtectedFromAccidentalDeletion $true

如果您想取消删除保护,可以再次设置选项“$false”。如果除组织单位外不保护任何对象,则使用 cmdlet Get-ADOrganizationalUnitSet-ADOrganizationalUnit

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯