【IDM】AD FS 2.0 PowerShell コマンドレットを使用する~1 基礎編


いろいろと書きたいことがあるのですが、今回は AD FS 2.0 の PowerShell コマンドレットについて、その第一歩を書いておきます。

英語がイヤでない方は、原文である以下の記事もどうぞ。

AD FS 2.0 for Windows PowerShell Basics

AD FS 2.0 をインストールすると、AD FS 2.0 用 PowerShell コマンドレットもインストールされます。

試しに、AD FS 2.0 がインストールされた環境で PowerShell コンソールを起動し、「Get-PSSnapin –Registered」と入力してみてください。AD FS 2.0 用コマンドレットが正しくインストールされていれば以下のように表示されます。

PS C:\> Get-PSSnapin –Registered

Name        : Microsoft.Adfs.PowerShell
PSVersion   : 1.0
Description : This powershell snap-in contains cmdlets used to manage Microsoft Identity Server resources.

なおこの結果は「システムに登録されている」ことを示しており、実際に使用するには、おなじみの「Add-PSSnapin」を使用する必要があります。以下のように入力すれば、現在のセッションで AD FS 2.0 コマンドレットを使用することができます。

PS C:\> Add-PSSnapin Microsoft.Adfs.PowerShell

PowerShell を使ったことがある方ならばご存知の通り、Add-PSSnapin をプロファイルに書いておけば、次回 PowerShell 起動時に自動的に AD FS 2.0コマンドレットを読み込ませることができます。

AD FS 2.0 がインストールされたマシンでプロファイルを作ったことが無い場合には、はじめに以下のコマンドで WindowsPowerShell ディレクトリを作成してください。<UserName> は、ログオンしているユーザー ID を指定します。

PS C:\> md C:\Users\<UserName>\Documents\WindowsPowerShell

次に上記フォルダにプロファイル(Microsoft.PowerShell_profile.ps1)を作成します。$PROFILE には、プロファイルへのフルパスが格納されています(C:\Users\<UserName>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1)。

PS C:\> notepad $PROFILE

なお、プロファイルが存在しない場合には、当然ですが以下のメッセージが表示されますので「はい」をクリックしてください。

image
ファイル C:\Users\<username>\Documents\WindowsPowerShell\Microsoft_PowerShell_Profile.ps1 が見つかりません。新しく作成しますか?

メモ帳が開いたら、以下のコマンドを書き込み、保存します。

Add-PSSnapin Microsoft.Adfs.PowerShell

なお、未署名のローカルに保存されたスクリプトの実行を許可するために、以下のコマンドも入力しておいてください。知っている方にとってはお約束ではありますが、念のため。

PS C:\> Set-ExecutionPolicy RemoteSigned

実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピックで説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y)  [N] いいえ(N)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"): Y
PS C:\>

使用可能なコマンドレットの一覧を表示するには Get-Command を使用しますが、これでは一切合財のコマンドが表示されてしまって面倒です。

AD FS 2.0 用コマンドレットは、ADFS というプレフィックスがついているので、以下のように入力すれば ADFS 関連のコマンドレットのみを表示することができます。

PS C:\> Get-Command *-ADFS*

CommandType     Name                                                Definition
———–     —-                                                ———-
Cmdlet          Add-ADFSAttributeStore                              Add-ADFSAttributeStore -Name <String> -StoreType…
Cmdlet          Add-ADFSCertificate                                 Add-ADFSCertificate -CertificateType <String> -T…
Cmdlet          Add-ADFSClaimDescription                            Add-ADFSClaimDescription -Name <String> -ClaimTy…
Cmdlet          Add-ADFSClaimsProviderTrust                         Add-ADFSClaimsProviderTrust -Name <String> -Iden…
Cmdlet          Add-ADFSRelyingPartyTrust                           Add-ADFSRelyingPartyTrust -Name <String> -Identi…
Cmdlet          Disable-ADFSClaimsProviderTrust                     Disable-ADFSClaimsProviderTrust -TargetClaimsPro…
Cmdlet          Disable-ADFSEndpoint                                Disable-ADFSEndpoint [[-TargetAddressPath] <Stri…
Cmdlet          Disable-ADFSRelyingPartyTrust                       Disable-ADFSRelyingPartyTrust -TargetIdentifier …
Cmdlet          Enable-ADFSClaimsProviderTrust                      Enable-ADFSClaimsProviderTrust -TargetClaimsProv…
Cmdlet          Enable-ADFSEndpoint                                 Enable-ADFSEndpoint [[-TargetAddressPath] <Strin…
Cmdlet          Enable-ADFSRelyingPartyTrust                        Enable-ADFSRelyingPartyTrust -TargetIdentifier <…
Cmdlet          Get-ADFSAttributeStore                              Get-ADFSAttributeStore [[-Name] <String[]>] [-Ve…
Cmdlet          Get-ADFSCertificate                                 Get-ADFSCertificate [[-CertificateType] <String[…
Cmdlet          Get-ADFSClaimDescription                            Get-ADFSClaimDescription [[-Name] <String[]>] [-…
Cmdlet          Get-ADFSClaimsProviderTrust                         Get-ADFSClaimsProviderTrust [[-Name] <String[]>]…
Cmdlet          Get-ADFSEndpoint                                    Get-ADFSEndpoint [[-AddressPath] <String[]>] [-V…
Cmdlet          Get-ADFSProperties                                  Get-ADFSProperties [-Verbose] [-Debug] [-ErrorAc…
Cmdlet          Get-ADFSProxyProperties                             Get-ADFSProxyProperties [-Verbose] [-Debug] [-Er…
Cmdlet          Get-ADFSRelyingPartyTrust                           Get-ADFSRelyingPartyTrust [[-Name] <String[]>] […
Cmdlet          Get-ADFSSyncProperties                              Get-ADFSSyncProperties [-Verbose] [-Debug] [-Err…
Cmdlet          New-ADFSClaimRuleSet                                New-ADFSClaimRuleSet -ClaimRule <String[]> [-Ver…
Cmdlet          New-ADFSContactPerson                               New-ADFSContactPerson [-Company <String>] [-Emai…
Cmdlet          New-ADFSOrganization                                New-ADFSOrganization -DisplayName <String> -Orga…
Cmdlet          New-ADFSSamlEndpoint                                New-ADFSSamlEndpoint -Binding <String> -Protocol…
Cmdlet          Remove-ADFSAttributeStore                           Remove-ADFSAttributeStore [-TargetName] <String>…
Cmdlet          Remove-ADFSCertificate                              Remove-ADFSCertificate [-TargetCertificate] <Ser…
Cmdlet          Remove-ADFSClaimDescription                         Remove-ADFSClaimDescription [-TargetName] <Strin…
Cmdlet          Remove-ADFSClaimsProviderTrust                      Remove-ADFSClaimsProviderTrust -TargetClaimsProv…
Cmdlet          Remove-ADFSRelyingPartyTrust                        Remove-ADFSRelyingPartyTrust -TargetIdentifier <…
Cmdlet          Revoke-ADFSProxyTrust                               Revoke-ADFSProxyTrust [-Verbose] [-Debug] [-Erro…
Cmdlet          Set-ADFSAttributeStore                              Set-ADFSAttributeStore [-TargetName] <String> [-…
Cmdlet          Set-ADFSCertificate                                 Set-ADFSCertificate -CertificateType <String> -T…
Cmdlet          Set-ADFSCertSharingContainer                        Set-ADFSCertSharingContainer -ServiceAccount <St…
Cmdlet          Set-ADFSClaimDescription                            Set-ADFSClaimDescription [-TargetName] <String> …
Cmdlet          Set-ADFSClaimsProviderTrust                         Set-ADFSClaimsProviderTrust [-Name <String>] [-I…
Cmdlet          Set-ADFSEndpoint                                    Set-ADFSEndpoint [[-TargetAddressPath] <String>]…
Cmdlet          Set-ADFSProperties                                  Set-ADFSProperties [-AuthenticationContextOrder …
Cmdlet          Set-ADFSProxyProperties                             Set-ADFSProxyProperties [-HostName <String>] [-H…
Cmdlet          Set-ADFSRelyingPartyTrust                           Set-ADFSRelyingPartyTrust [-Name <String>] [-Not…
Cmdlet          Set-ADFSSyncProperties                              Set-ADFSSyncProperties [-PrimaryComputerName <St…
Cmdlet          Update-ADFSCertificate                              Update-ADFSCertificate [[-CertificateType] <Stri…
Cmdlet          Update-ADFSClaimsProviderTrust                      Update-ADFSClaimsProviderTrust [-MetadataFile <S…
Cmdlet          Update-ADFSRelyingPartyTrust                        Update-ADFSRelyingPartyTrust [-MetadataFile <Str…

コマンドレットのヘルプを参照するには、ご存知 Get-Help を使用します。以下は、Set-ADFSProperties のヘルプを参照しています。

PS C:\> Get-Help Set-ADFSProperties

名前
    Set-ADFSProperties

概要
    フェデレーション サービスのプロパティを設定します。

構文
    Set-ADFSProperties [-AcceptableIdentifier <Uri[]>] [-AddProxyAuthorizationRules <string>] [-ArtifactDbConnection <s
    tring>] [-AuthenticationContextOrder <Uri[]>] [-AutoCertificateRollover <Boolean>] [-CertificateCriticalThreshold <
    int>] [-CertificateDuration <int>] [-CertificateGenerationThreshold <int>] [-CertificatePromotionThreshold <int>] [
    -CertificateRolloverInterval <int>] [-CertificateThresholdMinutesMultiplier <int>] [-ContactPerson <ContactPerson[]
    >] [-EncryptionCertRevocationCheck <string>] [-ExtendedProtectionTokenCheck <string>] [-FederationPassiveAddress <s
    tring>] [-HostName <string>] [-HttpPort <int>] [-HttpsPort <int>] [-Identifier <Uri>] [-LogLevel <string[]>] [-Moni
    toringInterval <int>] [-NetTcpPort <int>] [-NtlmOnlySupportedClientAtProxy <Boolean>] [-OrganizationInfo <Organizat
    ion>] [-PassThru] [-PreventTokenReplays <System.Nullable[bool]>] [-ProxyTrustTokenLifetime <int>] [-RequireSignedSa
    mlRequests <System.Nullable[bool]>] [-SamlMessageDeliveryWindow <int>] [-SigningCertRevocationCheck <string>] [-Sig
    nSamlAuthnRequests <System.Nullable[bool]>] [-SsoLifetime <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

説明
    Set-ADFSProperties コマンドレットは、フェデレーション サービスのグローバル プロパティおよび構成を設定します。

関連するリンク
    Online version:
http://go.microsoft.com/fwlink/?LinkId=177389
    Get-ADFSProperties

注釈
    例を参照するには、次のように入力してください: "get-help Set-ADFSProperties -examples".
    詳細を参照するには、次のように入力してください: "get-help Set-ADFSProperties -detailed".
    技術情報を参照するには、次のように入力してください: "get-help Set-ADFSProperties -full".

PS C:\>

ワイルドカードを使用すれば複数のコマンドレットのヘルプを一度に表示することもできます。例えば以下のように入力します。

PS C:\> Get-Help *-ADFS*

Name                              Category  Synopsis
—-                              ——–  ——–
Add-ADFSAttributeStore            Cmdlet    フェデレーション サービスに属性ストアを追加します。
Add-ADFSCertificate               Cmdlet    署名、暗号化解除、または通信保護のための新しい証明書をフェデレーション …
Add-ADFSClaimDescription          Cmdlet    フェデレーション サービスに要求記述を追加します。
Add-ADFSClaimsProviderTrust       Cmdlet    新しい要求プロバイダー信頼をフェデレーション サービスに追加します。
Add-ADFSRelyingPartyTrust         Cmdlet    新しい証明書利用者信頼をフェデレーション サービスに追加します。
Remove-ADFSClaimsProviderTrust    Cmdlet    フェデレーション サービスから要求プロバイダー信頼を削除します。
Disable-ADFSClaimsProviderTrust   Cmdlet    フェデレーション サービスの要求プロバイダー信頼を無効にします。
Enable-ADFSEndpoint               Cmdlet    フェデレーション サービスのエンドポイントを有効にします。
Disable-ADFSEndpoint              Cmdlet    フェデレーション サービスのエンドポイントを無効にします。
Remove-ADFSRelyingPartyTrust      Cmdlet    フェデレーション サービスから証明書利用者信頼を削除します。
Disable-ADFSRelyingPartyTrust     Cmdlet    フェデレーション サービスの証明書利用者信頼を無効にします。
Enable-ADFSClaimsProviderTrust    Cmdlet    フェデレーション サービスの要求プロバイダー信頼を有効にします。
Enable-ADFSRelyingPartyTrust      Cmdlet    フェデレーション サービスの証明書利用者信頼を有効にします。
Get-ADFSAttributeStore            Cmdlet    フェデレーション サービスの属性ストアを取得します。
Get-ADFSCertificate               Cmdlet    フェデレーション サービスに存在する証明書を取得します。
Get-ADFSClaimDescription          Cmdlet    フェデレーション サービスに存在する要求記述を取得します。
Get-ADFSClaimsProviderTrust       Cmdlet    フェデレーション サービスの要求プロバイダー信頼を取得します。
Get-ADFSEndpoint                  Cmdlet    フェデレーション サービスのエンドポイントを取得します。
Get-ADFSProxyProperties           Cmdlet    フェデレーション サーバー プロキシのプロパティを取得します。
Get-ADFSRelyingPartyTrust         Cmdlet    フェデレーション サービスの証明書利用者信頼を取得します。
Get-ADFSProperties                Cmdlet    フェデレーション サービスのプロパティを取得します。
Get-ADFSSyncProperties            Cmdlet    フェデレーション サービスの構成データベースの同期プロパティを取得します。
New-ADFSClaimRuleSet              Cmdlet    新しい要求規則のセットを作成します。
New-ADFSContactPerson             Cmdlet    新しい連絡担当者オブジェクトを作成します。
New-ADFSOrganization              Cmdlet    新しい組織情報オブジェクトを作成します。
New-ADFSSamlEndpoint              Cmdlet    新しい SAML プロトコル エンドポイント オブジェクトを作成します。
Remove-ADFSAttributeStore         Cmdlet    フェデレーション サービスから属性ストアを削除します。
Remove-ADFSCertificate            Cmdlet    フェデレーション サービスから証明書を削除します。
Remove-ADFSClaimDescription       Cmdlet    フェデレーション サービスから要求記述を削除します。
Revoke-ADFSProxyTrust             Cmdlet    フェデレーション サービスに構成されているすべてのフェデレーション サーバ…
Set-ADFSAttributeStore            Cmdlet    属性ストアのプロパティを設定します。
Set-ADFSCertificate               Cmdlet    フェデレーション サービスが署名、暗号化解除、または通信保護に使用する既…
Set-ADFSClaimDescription          Cmdlet    既存の要求記述のプロパティを設定します。
Set-ADFSClaimsProviderTrust       Cmdlet    要求プロバイダー信頼のプロパティを設定します。
Set-ADFSCertSharingContainer      Cmdlet    フェデレーション サーバー ファーム内で管理対象証明書を共有するために使用…
Set-ADFSEndpoint                  Cmdlet    フェデレーション サービスのエンドポイントのプロパティを設定します。
Set-ADFSProxyProperties           Cmdlet    フェデレーション サーバー プロキシのプロパティを設定します。
Set-ADFSRelyingPartyTrust         Cmdlet    証明書利用者信頼のプロパティを設定します。
Set-ADFSProperties                Cmdlet    フェデレーション サービスのプロパティを設定します。
Set-ADFSSyncProperties            Cmdlet    フェデレーション サーバー ファームのデータベース同期エンジンのプロパティ…
Update-ADFSCertificate            Cmdlet    フェデレーション サービスの証明書を更新します。
Update-ADFSClaimsProviderTrust    Cmdlet    フェデレーション メタデータの要求プロバイダー信頼を更新します。
Update-ADFSRelyingPartyTrust      Cmdlet    フェデレーション メタデータの証明書利用者信頼を更新します。

Comments (0)

Skip to main content