使用 Windows PowerShell 管理角色型存取控制

適用于: Windows server 2022、Windows Server 2019、Windows Server 2016

您可以使用本主題來瞭解如何使用 IPAM 來管理 Windows PowerShell 的角色型存取控制。

注意

如需 IPAM Windows PowerShell 命令參考,請參閱Windows PowerShell 中的 IpamServer Cmdlet

新的 Windows PowerShell IPAM 命令可讓您取得及變更 DNS 和 DHCP 物件的存取範圍。 下表說明每個 IPAM 物件所要使用的正確命令。

IPAM 物件 Command 說明
DNS 伺服器 Get-IpamDnsServer 此 Cmdlet 會傳回 IPAM 中的 DNS 伺服器物件
DNS 區域 Get-IpamDnsZone 此 Cmdlet 會傳回 IPAM 中的 DNS 區域物件
DNS 資源記錄 Get-IpamResourceRecord 此 Cmdlet 會傳回 IPAM 中的 DNS 資源記錄物件
DNS 條件轉寄站 Get-IpamDnsConditionalForwarder 此 Cmdlet 會傳回 IPAM 中的 DNS 條件轉寄站物件
DHCP 伺服器 Get-IpamDhcpServer 此 Cmdlet 會傳回 IPAM 中的 DHCP 伺服器物件
DHCP 超級領域 Get-IpamDhcpSuperscope 此 Cmdlet 會傳回 IPAM 中的 DHCP 超級領域物件
DHCP 領域 Get-IpamDhcpScope 此 Cmdlet 會傳回 IPAM 中的 DHCP 領域物件

在下列命令輸出範例中, Get-IpamDnsZone Cmdlet 會抓取 Get-IpamDnsZone DNS 區域。

PS C:\Users\Administrator.CONTOSO> Get-IpamDnsZone -ZoneType Forward -ZoneName dublin.contoso.com

ZoneName             : dublin.contoso.com
ZoneType             : Forward
AccessScopePath      : \Global\Dublin
IsSigned             : False
DynamicUpdateStatus  : None
ScavengeStaleRecords : False

設定 IPAM 物件的存取範圍

您可以使用 Set-IpamAccessScope 命令,在 IPAM 物件上設定存取範圍。 您可以使用此命令將存取範圍設定為物件的特定值,或讓物件繼承父物件的存取範圍。 以下是您可以使用此命令來設定的物件。

  • DHCP 領域

  • DHCP 伺服器

  • DHCP 超級領域

  • DNS 條件轉寄站

  • DNS 資源記錄

  • DNS 伺服器

  • DNS 區域

  • IP 位址區塊

  • IP 位址範圍

  • IP 位址空間

  • IP 位址子網

以下是命令的語法 Set-IpamAccessScope

NAME
    Set-IpamAccessScope

SYNTAX
    Set-IpamAccessScope [-IpamRange] -InputObject <ciminstance[]> [-AccessScopePath <string>] [-IsInheritedAccessScope] [-PassThru] [-CimSession <CimSession[]>] [-ThrottleLimit <int>] [-AsJob] [-WhatIf] [-Confirm]  [<CommonParameters>]

    Set-IpamAccessScope [-IpamDnsServer] -InputObject <ciminstance[]> [-AccessScopePath <string>] [-IsInheritedAccessScope] [-PassThru] [-CimSession <CimSession[]>] [-ThrottleLimit <int>] [-AsJob] [-WhatIf] [-Confirm]
    [<CommonParameters>]

    Set-IpamAccessScope [-IpamDhcpServer] -InputObject <ciminstance[]> [-AccessScopePath <string>] [-IsInheritedAccessScope] [-PassThru] [-CimSession <CimSession[]>] [-ThrottleLimit <int>] [-AsJob] [-WhatIf] [-Confirm]
    [<CommonParameters>]

    Set-IpamAccessScope [-IpamDhcpSuperscope] -InputObject <ciminstance[]> [-AccessScopePath <string>] [-IsInheritedAccessScope] [-PassThru] [-CimSession <CimSession[]>] [-ThrottleLimit <int>] [-AsJob] [-WhatIf] [-Confirm]
    [<CommonParameters>]

    Set-IpamAccessScope [-IpamDhcpScope] -InputObject <ciminstance[]> [-AccessScopePath <string>] [-IsInheritedAccessScope] [-PassThru] [-CimSession <CimSession[]>] [-ThrottleLimit <int>] [-AsJob] [-WhatIf] [-Confirm]
    [<CommonParameters>]

    Set-IpamAccessScope [-IpamDnsConditionalForwarder] -InputObject <ciminstance[]> [-AccessScopePath <string>] [-IsInheritedAccessScope] [-PassThru] [-CimSession <CimSession[]>] [-ThrottleLimit <int>] [-AsJob] [-WhatIf] [-Confirm]
    [<CommonParameters>]

    Set-IpamAccessScope [-IpamDnsResourceRecord] -InputObject <ciminstance[]> [-AccessScopePath <string>] [-IsInheritedAccessScope] [-PassThru] [-CimSession <CimSession[]>] [-ThrottleLimit <int>] [-AsJob] [-WhatIf] [-Confirm]
    [<CommonParameters>]

    Set-IpamAccessScope [-IpamDnsZone] -InputObject <ciminstance[]> [-AccessScopePath <string>] [-IsInheritedAccessScope] [-PassThru] [-CimSession <CimSession[]>] [-ThrottleLimit <int>] [-AsJob] [-WhatIf] [-Confirm]
    [<CommonParameters>]

    Set-IpamAccessScope [-IpamAddressSpace] -InputObject <ciminstance[]> [-AccessScopePath <string>] [-IsInheritedAccessScope] [-PassThru] [-CimSession <CimSession[]>] [-ThrottleLimit <int>] [-AsJob] [-WhatIf] [-Confirm]
    [<CommonParameters>]

    Set-IpamAccessScope [-IpamSubnet] -InputObject <ciminstance[]> [-AccessScopePath <string>] [-IsInheritedAccessScope] [-PassThru] [-CimSession <CimSession[]>] [-ThrottleLimit <int>] [-AsJob] [-WhatIf] [-Confirm]  [<CommonParameters>]

    Set-IpamAccessScope [-IpamBlock] -InputObject <ciminstance[]> [-AccessScopePath <string>] [-IsInheritedAccessScope] [-PassThru] [-CimSession <CimSession[]>] [-ThrottleLimit <int>] [-AsJob] [-WhatIf] [-Confirm]  [<CommonParameters>]

在下列範例中,DNS 區域 dublin.contoso.com 的存取範圍已從 都柏林 變更為 歐洲

PS C:\Users\Administrator.CONTOSO> Get-IpamDnsZone -ZoneType Forward -ZoneName dublin.contoso.com

ZoneName             : dublin.contoso.com
ZoneType             : Forward
AccessScopePath      : \Global\Dublin
IsSigned             : False
DynamicUpdateStatus  : None
ScavengeStaleRecords : False

PS C:\Users\Administrator.CONTOSO> $a = Get-IpamDnsZone -ZoneType Forward -ZoneName dublin.contoso.com
PS C:\Users\Administrator.CONTOSO> Set-IpamAccessScope -IpamDnsZone -InputObject $a -AccessScopePath \Global\Europe -PassThru

ZoneName             : dublin.contoso.com
ZoneType             : Forward
AccessScopePath      : \Global\Europe
IsSigned             : False
DynamicUpdateStatus  : None
ScavengeStaleRecords : False