TFSSecurity を使用して Azure DevOps のグループとアクセス許可を管理する

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

TFSSecurity コマンド ライン ツールを使用して、Azure DevOps Server内のグループとユーザーを作成、変更、削除したり、グループとユーザーのアクセス許可を変更したりできます。 ユーザー インターフェイスでこれらのタスクを実行する方法については、「 ユーザーまたはグループをプロジェクトに追加する」を参照してください。

重要

TFSSecurity コマンド ライン ツールは、Azure DevOps Servicesで使用するために非推奨になりました。 TFSSecurity は一部のAzure DevOps Servicesシナリオで機能する場合があります。サポートされていません。 Azure DevOps Servicesのセキュリティ グループとアクセス許可を変更するには、Web ポータルaz devops security、az devopsアクセス許可コマンド ライン ツール、または Security REST API のいずれかを使用することをお勧めします。

コマンド ライン ツールの場所

Azure DevOps コマンド ライン ツールは、Azure DevOps アプリケーション層サーバーの /Tools ディレクトリにインストールされます。

  • Azure DevOps Server 2020:%programfiles%\Azure DevOps Server 2020\Tools
  • Azure DevOps Server 2019: %programfiles%\Azure DevOps Server 2019\Tools
  • TFS 2018: %programfiles%\Microsoft Team Foundation Server 2018\Tools
  • TFS 2017: %programfiles%\Microsoft Team Foundation Server 15.0\Tools
  • TFS 2015: %programfiles%\Microsoft Team Foundation Server 14.0\Tools
  • TFS 2013: %programfiles%\Microsoft Team Foundation Server 12.0\Tools
  • TFS 2012: %programfiles%\Microsoft Team Foundation Server 11.0\Tools
  • TFS 2010: %programfiles%\Microsoft Team Foundation Server 2010\Tools

注意

管理資格情報を使ってログオンしている場合でも、この機能を実行するには、昇格した特権でコマンド プロンプトを開く必要があります。

アクセス許可

/a+: アクセス許可を追加する

/a+ を使用して、サーバー レベル、コレクション レベル、またはプロジェクト レベルのグループ内のユーザーまたはグループのアクセス許可を追加します。 Web ポータルからグループにユーザーを追加するには、「 プロジェクト レベルまたはコレクション レベルでアクセス許可を設定する」を参照してください。

tfssecurity /a+ Namespace Token Action Identity (ALLOW | DENY)[/collection:CollectionURL] [/server:ServerURL]

前提条件

/a+ コマンドを使用するには、/collection パラメーターと /server パラメーターのどちらを使用しているかに応じて、コレクション レベルの情報の表示またはインスタンス レベルの情報の表示アクセス許可が [許可] に設定されている必要があります。 プロジェクトの権限を変更する場合は、プロジェクトのプロジェクト レベル情報の編集権限も [許可] に設定されている必要があります。 詳細については、「 アクセス許可とグループのリファレンス」を参照してください

パラメーター

引数 説明
名前空間 ユーザーまたはグループのアクセス許可を追加するグループを含む名前空間。 tfssecurity /a コマンドを使用して、サーバー、コレクション、およびプロジェクト レベルで名前空間の一覧を表示することもできます。
ID ユーザーまたはグループの ID。 ID 指定子の詳細については、この記事で後述 する「ID 指定子 」を参照してください。
  • 許可
    グループまたはユーザーは、Action で指定された操作を実行できます。
  • DENY
    グループまたはユーザーは、Action で指定された操作を実行できません。
/collection :CollectionURL /server が使用されていない場合は必須です。 プロジェクト コレクションの URL を次の形式で指定 します:http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL /collection が使用されていない場合は必須です。 アプリケーション層サーバーの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName

注釈

Azure DevOps のアプリケーション層サーバーでこのコマンドを実行します。

アクセス制御エントリは、ユーザー、グループ、サービス、またはコンピューターが実行を承認される操作を決定するセキュリティ機構です。

例: 使用可能な名前空間を表示する

次の例では、ADatumCorporation という名前のアプリケーション層サーバーのサーバー レベルで使用できる名前空間を表示します。

注意

これらの例は、例示のみを目的としており、架空のものです。 実在するものとは一切関係ありません。

tfssecurity /a /server:ServerURL 

サンプル出力:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following security namespaces are available to have permissions set on them:

         Registry
         Identity
         Job
         Server
         CollectionManagement
         Warehouse
         Catalog
         EventSubscription
         Lab

    Done.

例: 使用可能なアクションを表示する

次の例では、コレクション レベルでサーバー レベルの名前空間で使用できるアクションを表示します。

tfssecurity /a Server /collection:CollectionURL 

サンプル出力:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following actions are available in the security namespace Server:
        GenericRead
        GenericWrite
        Impersonate
        TriggerEvent

    Done.

例: インスタンス レベルのアクセス許可を割り当てる

次の例では、Datum1 ドメイン ユーザー John Peoples (Datum1\jpeoples) の ADatumCorporation デプロイに対して、サーバー レベルの View インスタンスレベルの情報 アクセス許可を付与します。

tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /server:http://ADatumCorporation:8080 

サンプル出力:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "n:Datum1\jpeoples"...
      [U] Datum1\jpeoples (John Peoples)
    Adding the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [INSTANCE]\Team Foundation Valid Users
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [INSTANCE]\Team Foundation Service Accounts
      [+] GenericWrite                       [INSTANCE]\Team Foundation Service Accounts
      [+] Impersonate                        [INSTANCE]\Team Foundation Service Accounts
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Service Accounts
      [+] GenericRead                        [INSTANCE]\Team Foundation Administrators
      [+] GenericWrite                       [INSTANCE]\Team Foundation Administrators
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Administrators
      [+] GenericRead                        DATUM1\jpeoples

    Done.

例: コレクション レベルのアクセス許可を割り当てる

次の例では、Datum1 ドメイン ユーザー John Peoples (Datum1\jpeoples) の Collection0 プロジェクト コレクションにコレクション レベルの View コレクション レベルの情報アクセス許可を付与します。

tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /collection:http://ADatumCorporation:8080/Collection0

サンプル出力:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.
    The target Team Foundation Server is http://ADatumCorporation:8080/COLLECTION0.
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Adding the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [Collection0]\Project Collection ValidUsers
      [+] GenericRead                        [Collection0]\Project Collection Service Accounts
      [+] GenericWrite                       [Collection0]\Project Collection Service Accounts
      [+] Impersonate                        [Collection0]\Project Collection Service Accounts
      [+] TriggerEvent                       [Collection0]\Project Collection Service Accounts
      [+] GenericRead                        [Collection0]\Project Collection Administrators
      [+] GenericWrite                       [Collection0]\Project Collection Administrators
      [+] TriggerEvent                       [Collection0]\Project Collection Administrators
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [Collection0]\Project Collection Build Service Accounts
      [+] GenericRead                        DATUM1\jpeoples

    Done.

/a-: グループのメンバーシップからユーザーまたはグループを削除する

/a- コマンドを使用して、サーバー レベル、コレクション レベル、またはプロジェクト レベルのグループのメンバーシップからユーザーまたはグループを削除します。 Web ポータルからグループからユーザーを削除するには、「 ユーザー アカウントの削除」を参照してください。

tfssecurity /a- Namespace Token Action Identity (ALLOW | DENY) [/collection:CollectionURL] [/server:ServerURI]

前提条件

/a- コマンドを使用するには、/collection パラメーターと /server パラメーターのどちらを使用しているかに応じて、コレクション レベルの情報の表示またはインスタンス レベルの情報の表示アクセス許可が [許可] に設定されている必要があります。 プロジェクトの権限を変更する場合は、プロジェクトのプロジェクト レベル情報の編集権限も [許可] に設定されている必要があります。

パラメーター

引数 説明
名前空間 ユーザーまたはグループのアクセス許可を削除するグループを含む名前空間。 tfssecurity /a コマンドを使用して、サーバー、コレクション、およびプロジェクト レベルで名前空間の一覧を表示することもできます。
ID ユーザーまたはグループの ID。 ID 指定子の詳細については、この記事で後述 する「ID 指定子 」を参照してください。
  • 許可
    グループまたはユーザーは、Action で指定された操作を実行できます。
  • DENY
    グループまたはユーザーは、Action で指定された操作を実行できません。
/collection :CollectionURL /server が使用されていない場合は必須です。 プロジェクト コレクションの URL を次の形式で指定 します:http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL /collection が使用されていない場合は必須です。 アプリケーション層サーバーの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName

注釈

Azure DevOps のアプリケーション層サーバーでこのコマンドを実行します。

アクセス制御エントリは、ユーザー、グループ、サービス、またはコンピューターが、コンピューターまたはサーバー上での実行を承認される操作を決定するセキュリティ機構です。

例: サーバー レベルの名前空間を表示する

次の例では、ADatumCorporation という名前のアプリケーション層サーバーに対してサーバー レベルで使用できる名前空間を表示しています。

注意

これらの例は、例示のみを目的としており、架空のものです。 実在するものとは一切関係ありません。

tfssecurity /a /server:ServerURL 

サンプル出力:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following security namespaces are available to have permissions set on them:

         Registry
         Identity
         Job
         Server
         CollectionManagement
         Warehouse
         Catalog
         EventSubscription
         Lab

    Done.

例: コレクション レベルの使用可能なアクションを表示する

次の例では、コレクション レベルでサーバー名前空間で使用できるアクションを表示します。

tfssecurity /a Server /collection:CollectionURL 

サンプル出力:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.

    The following actions are available in the security namespace Server:
        GenericRead
        GenericWrite
        Impersonate
        TriggerEvent

    Done.

例: インスタンス レベルのアクセス許可を削除する

次の例では、Datum1 ドメイン ユーザー John Peoples (Datum1\jpeoples) の ADatumCorporation デプロイに対するサーバー レベルの View インスタンスレベル情報 アクセス許可を削除します。

tfssecurity /a- Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /server:http://ADatumCorporation:8080 

サンプル出力:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "n:Datum1\jpeoples"...
      [U] Datum1\jpeoples (John Peoples)
    Removing the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [INSTANCE]\Team Foundation Valid Users
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [INSTANCE]\Team Foundation Service Accounts
      [+] GenericWrite                       [INSTANCE]\Team Foundation Service Accounts
      [+] Impersonate                        [INSTANCE]\Team Foundation Service Accounts
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Service Accounts
      [+] GenericRead                        [INSTANCE]\Team Foundation Administrators
      [+] GenericWrite                       [INSTANCE]\Team Foundation Administrators
      [+] TriggerEvent                       [INSTANCE]\Team Foundation Administrators

    Done.

例: コレクション レベルのアクセス許可を削除する

次の例では、Datum1 ドメイン ユーザー John Peoples (Datum1\jpeoples) の Collection0 プロジェクト コレクションに対するコレクション レベルの View コレクション レベルの情報 アクセス許可を削除します。

tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Datum1\jpeoples ALLOW /collection:http://ADatumCorporation:8080/Collection0

サンプル出力:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.
    The target Team Foundation Server is http://ADatumCorporation:8080/COLLECTION0.
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Removing the access control entry...
    Verifying...

    Effective ACL on object "FrameworkGlobalSecurity":
      [+] GenericRead                        [Collection0]\Project Collection ValidUsers
      [+] GenericRead                        [Collection0]\Project Collection Service Accounts
      [+] GenericWrite                       [Collection0]\Project Collection Service Accounts
      [+] Impersonate                        [Collection0]\Project Collection Service Accounts
      [+] TriggerEvent                       [Collection0]\Project Collection Service Accounts
      [+] GenericRead                        [Collection0]\Project Collection Administrators
      [+] GenericWrite                       [Collection0]\Project Collection Administrators
      [+] TriggerEvent                       [Collection0]\Project Collection Administrators
      [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
      [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
      [+] GenericRead                        [Collection0]\Project Collection Build Service Accounts

    Done.

/acl: アクセス制御リストを表示する

/acl を使用して、特定のオブジェクトに適用されるアクセス制御リストを表示します。

tfssecurity /acl Namespace Token [/collection:CollectionURL] [/server:ServerURL]

前提条件

/acl コマンドを使用するには、/collection パラメーターと /server パラメーターのどちらを使用しているかに応じて、コレクション レベルの情報の表示またはインスタンス レベルの情報の表示アクセス許可が [許可] に設定されている必要があります。 詳細については、「Azure DevOps Serverのアクセス許可リファレンス」を参照してください。

パラメーター

引数 説明
名前空間 ユーザーまたはグループのアクセス許可を表示するグループを含む名前空間。
/collection :CollectionURL /server が使用されていない場合は必須です。 プロジェクト コレクションの URL を次の形式で指定 します:http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL /collection が使用されていない場合は必須です。 アプリケーション層サーバーの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName

注釈

Azure DevOps のアプリケーション層サーバーでこのコマンドを実行します。

アクセス制御エントリは、ユーザー、グループ、サービス、またはコンピューターが、コンピューターまたはサーバー上での実行を承認される操作を決定するセキュリティ機構です。

例: Sever レベルの名前空間への ACL 割り当てを一覧表示する

次の例では、ADatumCorporation デプロイ内のサーバー名前空間の FrameworkGlobalSecurity トークンにアクセスできるユーザーとグループを表示します。

注意

これらの例は、例示のみを目的としており、架空のものです。 実在するものとは一切関係ありません。

tfssecurity /acl Server FrameworkGlobalSecurity /server:ServerURL 

サンプル出力:

	TFSSecurity - Team Foundation Server Security Tool
	Copyright (c) Microsoft Corporation.  All rights reserved.
	The target Team Foundation Server is http://ADatumCorporation:8080/.
	Retrieving the access control list for object "Server"...

	Effective ACL on object "FrameworkGlobalSecurity":
	  [+] GenericRead                        [INSTANCE]\Team Foundation Valid Users
	  [+] GenericRead                        [INSTANCE]\SharePoint Web Application Services
	  [+] Impersonate                        [INSTANCE]\SharePoint Web Application Services
	  [+] GenericRead                        [INSTANCE]\Team Foundation Service Accounts
	  [+] GenericWrite                       [INSTANCE]\Team Foundation Service Accounts
	  [+] Impersonate                        [INSTANCE]\Team Foundation Service Accounts
	  [+] TriggerEvent                       [INSTANCE]\Team Foundation Service Accounts
	  [+] GenericRead                        [INSTANCE]\Team Foundation Administrators
	  [+] GenericWrite                       [INSTANCE]\Team Foundation Administrators
	  [+] TriggerEvent                       [INSTANCE]\Team Foundation Administrators
	  [+] GenericRead                        DATUM1\jpeoples

	Done.

グループ

/g: グループを一覧表示する

/g を使用して、プロジェクト、プロジェクト コレクション、またはAzure DevOps Server全体のグループを一覧表示します。

tfssecurity /g [scope] [/collection:CollectionURL] [/server:ServerURL]

前提条件

/g コマンドを使用するには、/collection パラメーターと /server パラメーターのどちらを使用しているかに応じて、コレクション レベルの情報の表示またはインスタンス レベルの情報の表示アクセス許可が許可に設定されている必要があります。 1 つのプロジェクトのスコープ内で /g コマンドを使用するには、 プロジェクト レベルの情報の表示 権限が [許可] に設定されている必要があります。 詳細については、「 アクセス許可とグループのリファレンス」を参照してください

パラメーター

引数 説明
scope 省略可能。 グループを表示するプロジェクトの URI を指定します。 プロジェクトの URI を取得するには、Team エクスプローラーを開き、プロジェクトを右クリックし、[プロパティ] をクリックし、URL のエントリ全体をコピーします。
/collection :CollectionURL /server が使用されていない場合は必須です。 プロジェクト コレクションの URL を次の形式で指定 します:http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL /collection が使用されていない場合は必須です。 アプリケーション層サーバーの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName

注釈

Azure DevOps のアプリケーション層サーバーでこのコマンドを実行します。

TFSSecurity コマンド ライン ユーティリティの /g コマンドは、選択したスコープ内のすべてのグループに関する情報を表示します。 このスコープには、プロジェクト コレクション (/server) またはアプリケーション層サーバー (/インスタンス) を指定できます。 プロジェクトのスコープと共に使用すると、そのプロジェクトに関連付けられているグループに関する情報のみが表示されます。

例: コレクション レベルのグループ情報を表示する

次の例では、プロジェクト コレクション内のすべてのグループの情報を表示します。

tfssecurity /g /collection:CollectionURL

/g+: ユーザーまたはグループを、既存のグループに追加します。

/g+ を使用して、ユーザーまたは別のグループを既存のグループに追加します。

tfssecurity /g+ groupIdentity memberIdentity [/collection:CollectionURL] [/server:ServerURL]

前提条件

/g+ コマンドを使用するには、/collection パラメーターと /server パラメーターのどちらを使用しているかに応じて、[コレクション レベルの情報の表示] と [コレクション レベルの情報の編集] または [インスタンス レベルの情報の表示] および [インスタンス レベルの情報の編集] アクセス許可が [許可] に設定されている必要があります。 詳細については、「 セキュリティ グループとアクセス許可のリファレンス」を参照してください

パラメーター

引数 説明
groupIdentity グループ ID を指定します。 有効な ID 指定子の詳細については、この記事で後述 する「ID 指定子 」を参照してください。
memberIdentity メンバー ID を指定します。 有効な ID 指定子の詳細については、この記事で後述 する「ID 指定子 」を参照してください。
/collection :CollectionURL /server が使用されていない場合は必須です。 プロジェクト コレクションの URL を次の形式で指定 します:http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL /collection が使用されていない場合は必須です。 アプリケーション層サーバーの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName

注釈

Azure DevOps のアプリケーション層サーバーでこのコマンドを実行します。

チーム エクスプローラーを使用して、既存のグループにユーザーとグループを追加することもできます。 詳細については、「 プロジェクト レベルまたはコレクション レベルでアクセス許可を設定する」を参照してください。

例: サーバー レベルのグループにユーザーを追加する

次の例は、Datum1 ドメインのユーザー John Peoples (Datum1\jpeoples) を Team Foundation 管理者グループに追加します。

注意

これらの例は、例示のみを目的としており、架空のものです。 実在するものとは一切関係ありません。

tfssecurity /g+ "Team Foundation Administrators" n:Datum1\jpeoples /server:http://ADatumCorporation:8080

サンプル出力:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "Team Foundation Administrators"...
    a [A] [INSTANCE]\Team Foundation Administrators
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Adding John Peoples to [INSTANCE]\Team Foundation Administrators...
    Verifying...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: [INSTANCE]\Team Foundation Administrators
      Description: Members of this group can perform all operations on the Team Foundation Application Instance.

    4 member(s):
      [U] Datum1\hholt (Holly Holt)
      [U] Datum1\jpeoples (John Peoples)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [INSTANCE]\Team Foundation Service Accounts

    Member of 2 group(s):
    a [A] [Collection0]\Project Collection Administrators
    e [A] [INSTANCE]\Team Foundation Valid Users

    Done.

/g-: ユーザーまたはグループを削除する

/g- を使用して、既存のグループからユーザーまたはユーザー グループを削除します。

tfssecurity /g- groupIdentity memberIdentity [/collection:CollectionURL] [/server:ServerURL]

前提条件

/g- コマンドを使用するには、/collection パラメーターと /server パラメーターのどちらを使用しているかに応じて、[コレクション レベルの情報の表示] と [コレクション レベルの情報の編集] または [インスタンス レベルの情報の表示] アクセス許可と [インスタンス レベル情報の編集] アクセス許可が [許可] に設定されている必要があります。 詳細については、「 セキュリティ グループとアクセス許可のリファレンス」を参照してください

パラメーター

引数 説明
groupIdentity グループ ID を指定します。 有効な ID 指定子の詳細については、この記事で後述 する「ID 指定子 」を参照してください。
memberIdentity メンバー ID を指定します。 有効な ID 指定子の詳細については、この記事で後述 する「ID 指定子 」を参照してください。
/collection :CollectionURL /server が使用されていない場合は必須です。 プロジェクト コレクションの URL を次の形式で指定 します:http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL /collection が使用されていない場合は必須です。 アプリケーション層サーバーの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName

注釈

Azure DevOps のアプリケーション層サーバーでこのコマンドを実行します。

チーム エクスプローラーを使用して、既存のグループにユーザーとグループを追加することもできます。 詳細については、「 プロジェクト グループからユーザーを削除する」または「プロジェクトレベルまたはコレクション レベルでアクセス許可を設定する」を参照してください。

例: サーバー レベルのグループからユーザーを削除する

次の例は、Datum1 ドメインのユーザー John Peoples (Datum1\jpeoples) を Team Foundation 管理者グループから削除します。

注意

これらの例は、例示のみを目的としており、架空のものです。 実在するものとは一切関係ありません。

tfssecurity /g- "Team Foundation Administrators" n:Datum1\jpeoples /server:http://ADatumCorporation:8080

サンプル出力:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "Team Foundation Administrators"...
    a [A] [INSTANCE]\Team Foundation Administrators
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Removing John Peoples from [INSTANCE]\Team Foundation Administrators...
    Verifying...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: [INSTANCE]\Team Foundation Administrators
      Description: Members of this group can perform all operations on the Team Foundation Application Instance.

    3 member(s):
      [U] Datum1\hholt (Holly Holt)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [INSTANCE]\Team Foundation Service Accounts

    Member of 2 group(s):
    a [A] [Collection0]\Project Collection Administrators
    e [A] [INSTANCE]\Team Foundation Valid Users

    Done.

/gc: プロジェクト レベルのグループを作成します。

コマンド プロンプトで /gc を使用して、プロジェクト レベルのグループを作成します。 ユーザー インターフェイスからプロジェクト レベルのグループを作成するには、「ユーザー またはグループの管理」を参照してください。

tfssecurity /gc Scope GroupName [GroupDescription] [/collection:CollectionURL]

前提条件

/gc コマンドを使用するには、そのプロジェクトの [Project-Level 情報の編集] アクセス許可が [許可] に設定されている必要があります。 詳細については、「 アクセス許可リファレンス」を参照してください

パラメーター

引数 説明
Scope プロジェクト レベルのグループを追加するプロジェクトの URI。 プロジェクトの URI を取得するには、プロジェクトに接続して Team エクスプローラーを開き、ホームでプロジェクトの名前をポイントしてアドレスを読み上けます。 または、Web Access でプロジェクトに接続して URL をコピーします。
GroupName 新しいグループの名前。
GroupDescription プロジェクト グループの説明。 省略可能。
/collection :CollectionURL プロジェクト コレクションの URL。 必須。 グループはプロジェクト コレクション内に作成されます。 URL の形式は、ServerName : Port / VirtualDirectoryName / CollectionName http:// です

注釈

Azure DevOps のアプリケーション層サーバーでこのコマンドを実行します。

プロジェクト レベルのグループは、プロジェクトのセキュリティ グループです。 プロジェクト グループを使用すれば、組織のセキュリティ要件を満たす読み取りアクセス許可、書き込みアクセス許可、および管理アクセス許可を付与することができます。

例: セキュリティ グループをプロジェクトに追加する

下の例は、URI "vstfs://Classification/TeamProject/00000000-0000-0000-0000-000000000000" が示すプロジェクトに固有のグループを作成します。 グループには "Test Group" という名前が付けられ、"This group is for testing" という説明が付加されます。

注意

これらの例は、例示のみを目的としており、架空のものです。 実在するものとは一切関係ありません。

プレースホルダー GUID は、このグループを作成するプロジェクトの URI に置き換える必要があります。 プロジェクトの URI を取得するには、Team エクスプローラーを開き、プロジェクトを右クリックし、[プロパティ] をクリックして、URL プロパティの値全体をコピーします。

コマンドを実行した後、Team エクスプローラーでグループを確認できます。 コマンドで使用したプロジェクトを右クリックし、[プロジェクトの設定] をクリックし、[グループ メンバーシップ] をクリックします。 [TeamProjectName のプロジェクト グループ] ダイアログ ボックスで、[グループ] 一覧に "Test Group" が追加されます。

注意

/gc コマンドを使用してグループを作成できますが、グループにユーザーを追加したり、アクセス許可を割り当てたりすることはできません。 グループのメンバーシップを変更するには、「 /g+: 既存のグループにユーザーまたは別のグループを追加する 」および 「/g-: ユーザーまたはグループを削除する」を参照してください。 グループのアクセス許可を変更するには、「 /a+: アクセス許可を追加 する」および 「/a-: グループのメンバーシップからユーザーまたはグループを削除する」を参照してください。

tfssecurity /gc "vstfs:///Classification/TeamProject/00000000-0000-0000-0000-000000000000" "Test Group" "This group is for team members who test our code" /collection:CollectionURL

/gcg: サーバーまたはコレクションのレベル グループを作成します。

/gcg コマンドを使用して、サーバー レベルまたはコレクション レベルのグループを作成します。 Web ポータルからコレクション レベルのグループを作成するには、「 プロジェクト レベルまたはコレクション レベルでアクセス許可を設定する」を参照してください。

tfssecurity /gcg GroupName [GroupDescription] [/collection:CollectionURL] [/server:ServerURL]`

前提条件

/gcg コマンドを使用するには、そのプロジェクトのプロジェクト レベル情報の編集権限が [許可] に設定されている必要があります。 詳細については、「 セキュリティ グループとアクセス許可のリファレンス」を参照してください

パラメーター

引数 説明
GroupName グループ名。
GroupDescription グループの説明。 省略可能。
/collection :CollectionURL /server が使用されていない場合は必須です。 プロジェクト コレクションの URL を次の形式で指定 します:http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL /collection が使用されていない場合は必須です。 アプリケーション層サーバーの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName

注釈

Azure DevOps のアプリケーション層サーバーでこのコマンドを実行します。

サーバー レベルのグループは、アプリケーション層に直接作成され、すべてのプロジェクト コレクションに適用されます。 コレクション レベルは、プロジェクト コレクション レベルで作成されます。 そのコレクションに適用され、コレクション内のすべてのプロジェクトに影響します。 これに対し、プロジェクト グループはコレクション内の特定のプロジェクトに適用されますが、そのコレクション内の他のプロジェクトには適用されません。 サーバー レベルのグループにアクセス許可を割り当てて、それらのグループのメンバーがプロジェクト コレクションの作成など、Azure DevOps Server自体でタスクを実行できるようにします。 コレクション レベルのグループにアクセス許可を割り当てて、それらのグループのメンバーがプロジェクト コレクション全体でタスク (ユーザーの管理など) を実行できるようにすることができます。

注意

/gcg コマンドを使用してグループを作成できますが、グループにユーザーを追加したり、アクセス許可を割り当てたりするために使用することはできません。 グループのメンバーシップを変更する方法については、「 /g+: 既存のグループにユーザーまたは別のグループを追加する 」および 「/g-: ユーザーまたはグループを削除する」を参照してください。 グループのアクセス許可を変更する方法については、「 /a+: アクセス許可を追加 する」および 「/a-: グループのメンバーシップからユーザーまたはグループを削除する」を参照してください。

例: コレクション レベルのセキュリティ グループを追加する

次の例では、"Datum Testers" という名前のコレクション レベルのグループを作成し、"A" という説明を付けます。 Datum Corporation Testers。

注意

これらの例は、例示のみを目的としており、架空のものです。 実在するものとは一切関係ありません。

tfssecurity /gcg "Datum Testers" "A. Datum Corporation Testers" /collection:CollectionURL

次の例では、"Datum Auditors" という名前のサーバー レベルのグループを作成し、"A" という説明を付けます。 Datum Corporation の監査人」

tfssecurity /gcg "Datum Auditors" "A. Datum Corporation Auditors" /server:ServerURL

/gd: サーバーまたはコレクションのレベル グループを削除します。

サーバー レベルまたはコレクション レベルのグループを削除するには、 /gd を使用します。

tfssecurity /gd groupIdentity [/collection:CollectionURL] [/server:ServerURL]

前提条件

/gd コマンドを使用するには、/collection パラメーターと /server パラメーターのどちらを使用しているかに応じて、[コレクション レベルの情報の表示] と [コレクション レベルの情報の編集] または [インスタンス レベルの情報の表示] アクセス許可と [インスタンス レベル情報の編集] アクセス許可が [許可] に設定されている必要があります。 詳細については、「 セキュリティ グループとアクセス許可のリファレンス」を参照してください

パラメーター

引数 説明
groupIdentity グループ ID を指定します。
/collection :CollectionURL /server が使用されていない場合は必須です。 プロジェクト コレクションの URL を次の形式で指定 します:http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL /collection が使用されていない場合は必須です。 アプリケーション層サーバーの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName

注釈

Azure DevOps のアプリケーション層サーバーでこのコマンドを実行します。 Web ポータルを使用してアクセス許可を変更するには、「 プロジェクト レベルまたはコレクション レベルでアクセス許可を設定する」を参照してください。

例: コレクション レベルのセキュリティ グループを削除する

次の例では、プロジェクト コレクションからグループを削除します。 グループは、セキュリティ識別子 (SID) "S-1-5-21-2127521184-1604012920-1887927527-588340" によって識別されます。 グループの SID の検索の詳細については、「 /im: 直接メンバーシップを構成する ID に関する情報を表示する」を参照してください。 フレンドリ名を使用してグループを削除することもできます。

注意

これらの例は、例示のみを目的としており、架空のものです。 実在するものとは一切関係ありません。

tfssecurity /gd S-1-5-21-2127521184-1604012920-1887927527-588340 /collection:CollectionURL

/gud: サーバーまたはコレクションのレベル グループの説明を変更します。

/gud を使用して、サーバー レベルまたはコレクション レベルのグループの説明を変更します。

tfssecurity /gud GroupIdentity GroupDescription [/collection:CollectionURL] [/server:ServerURL]

前提条件

/gud コマンドを使用するには、プロジェクト レベルの情報の編集権限が [許可] に設定されている必要があります。 詳細については、「 セキュリティ グループとアクセス許可のリファレンス」を参照してください

パラメーター

引数 説明
GroupIdentity グループ ID を指定します。 有効な ID 指定子の詳細については、この記事で後述 する「ID 指定子 」を参照してください。
GroupDescription グループの新しい説明を指定します。
/collection :CollectionURL /server が使用されていない場合は必須です。 プロジェクト コレクションの URL を次の形式で指定 します:http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL /collection が使用されていない場合は必須です。 アプリケーション層サーバーの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName

注釈

Azure DevOps のアプリケーション層サーバーでこのコマンドを実行します。

例: セキュリティ グループに説明を追加する

次の例では、"このグループのメンバーは、このプロジェクトのコードをテストします" という説明をグループ "Datum Testers" に関連付けます。

注意

これらの例は、例示のみを目的としており、架空のものです。 実在するものとは一切関係ありません。

tfssecurity /gud "Datum Testers" "The members of this group test the code for this project" /collection:CollectionURL

/gun: グループの名前を変更する

/gun を使用して、サーバー レベルまたはコレクション レベルのグループの名前を変更します。

tfssecurity /gun GroupIdentity GroupName [/collection:CollectionURL] [/server:ServerURL]

前提条件

/gun コマンドを使用するには、/collection パラメーターと /server パラメーターのどちらを使用しているかに応じて、[コレクション レベルの情報の表示] と [コレクション レベルの情報の編集] または [インスタンス レベルの情報の表示] アクセス許可と [インスタンス レベル情報の編集] アクセス許可が [許可] に設定されている必要があります。 詳細については、「 セキュリティ グループとアクセス許可のリファレンス」を参照してください

パラメーター

引数 説明
GroupIdentity グループ ID を指定します。 有効な ID 指定子の詳細については、この記事で後述 する「ID 指定子 」を参照してください。
GroupName グループの新しい名前を指定します。
/collection :CollectionURL /server が使用されていない場合は必須です。 プロジェクト コレクションの URL を次の形式で指定 します:http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL /collection が使用されていない場合は必須です。 アプリケーション層サーバーの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName

注釈

Azure DevOps のアプリケーション層サーバーでこのコマンドを実行します。

例: セキュリティ グループの名前を変更する

次の例では、コレクション レベルのグループ "A" の名前を変更します。 Datum Corporation Testers" から "A. Datum Corporation のテスト エンジニア」

注意

これらの例は、例示のみを目的としており、架空のものです。 実在するものとは一切関係ありません。

tfssecurity /gun "A. Datum Corporation Testers" "A. Datum Corporation Test Engineers" /collection:CollectionURL

ID とメンバーシップ

/i: 指定したグループの ID 情報を表示します。

/i を使用して、Azure DevOps Serverのデプロイで指定されたグループの ID 情報を表示します。

tfssecurity /i Identity [/collection:CollectionURL] [/server:ServerURL]

前提条件

/i コマンドを使用するには、/collection パラメーターと /server パラメーターのどちらを使用しているかに応じて、コレクション レベルの情報の表示またはインスタンスレベルの情報の表示アクセス許可が許可に設定されている必要があります。 詳細については、「 セキュリティ グループとアクセス許可のリファレンス」を参照してください

パラメーター

引数 説明
ID ユーザーまたはアプリケーション グループの ID。 ID 指定子の詳細については、この記事で後述 する「ID 指定子 」を参照してください。
/collection :CollectionURL /server が使用されていない場合は必須です。 プロジェクト コレクションの URL を次の形式で指定 します:http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL /collection が使用されていない場合は必須です。 アプリケーション層サーバーの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName

注釈

Azure DevOps 用のアプリケーション層サーバーでこのコマンドを実行します。

TFSSecurity コマンド ライン ユーティリティの /i コマンドは、プロジェクト コレクション (/server) またはアプリケーション層サーバー (/インスタンス) 内の各グループに関する情報を表示します。 メンバーシップ情報は表示されません。

例: セキュリティ グループの ID 情報を一覧表示する

次の例では、"Team Foundation Administrators" グループの ID 情報を表示します。

注意

これらの例は、例示のみを目的としており、架空のものです。 実在するものとは一切関係ありません。

tfssecurity /i "Team Foundation Administrators" /server:ServerURL 

サンプル出力:

    Resolving identity "Team Foundation Administrators"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: Team Foundation Administrators
      Description: Members of this application group can perform all privileged operations on the server.

例: セキュリティ グループの ID 情報を表示する

次の例では、adm: ID 指定子を使用して、プロジェクト コレクション管理者グループの ID 情報を表示します。

tfssecurity /i adm: /collection:CollectionURL 

サンプル出力:

    Resolving identity "adm:"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Server scope
     Display name: [DatumOne]\Project Collection Administrators
      Description: Members of this application group can perform all privileged operations on the project collection.

次の例では、adm: ID 指定子を使用して、"Datum" プロジェクトのプロジェクト管理者グループの ID 情報を表示します。

tfssecurity /i adm:vstfs:///Classification/TeamProject/ProjectGUID /collection:CollectionURL 

サンプル出力:

    Resolving identity "adm:vstfs:///Classification/TeamProject/ProjectGUID"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
       Group type: AdministrativeApplicationGroup
    Project scope: Datum
     Display name: [Datum]\Project Administrators
      Description: Members of this application group can perform all operations in the project.

/im: 直接メンバーシップを構成する ID に関する情報を表示する

/im を使用して、指定したグループの直接メンバーシップを構成する ID に関する情報を表示します。

tfssecurity /im Identity [/collection:CollectionURL] [/server:ServerURL]

前提条件

/im コマンドを使用するには、/collection パラメーターと /server パラメーターのどちらを使用しているかに応じて、コレクション レベルの情報の表示またはインスタンス レベルの情報の表示アクセス許可が [許可] に設定されている必要があります。 詳細については、「 セキュリティ グループとアクセス許可のリファレンス」を参照してください

パラメーター

引数 説明
ID ユーザーまたはグループの ID。 ID 指定子の詳細については、この記事で後述する 「ID 指定子」を 参照してください。
/collection :CollectionURL /server が使用されていない場合は必須です。 プロジェクト コレクションの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL /collection が使用されていない場合は必須です。 アプリケーション層サーバーの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName

注釈

Azure DevOps 用のアプリケーション層サーバーでこのコマンドを実行します。

TFSSecurity/im コマンドは、指定されたグループの直接メンバーのみを表示します。 この一覧には、指定したグループのメンバーである他のグループも含まれます。 ただし、そのメンバー グループの実際のメンバーは一覧表示されません。

例: セキュリティ グループのメンバーシップ ID を表示する

次の例は、"Team Foundation Administrators" グループの直接的なメンバーシップの ID 情報を表示します。このグループは、架空の会社 "A. Datum Corporation" のドメイン "Datum1" に存在します。

注意

これらの例は、例示のみを目的としており、架空のものです。 実在するものとは一切関係ありません。

tfssecurity /im "Team Foundation Administrators" /server:ServerURL

サンプル出力:

    Resolving identity "Team Foundation Administrators"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: Team Foundation Administrators
    Description: Members of this application group can perform all privileged operations on the server.

    3 member(s):
      [U] Datum1\hholt (Holt, Holly)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [InstanceName]\Team Foundation Service Accounts

    Member of 2 group(s):
    a [A] [DatumOne]\Project Collection Administrators ([DatumOne]\Project Collection Administrators)
    e [A] [InstanceName]\Team Foundation Valid Users

    Done.

例: セキュリティ グループの ID 情報を表示する

次の例では、架空の会社 "A" のドメイン "Datum1" にある "DatumOne" プロジェクト コレクションのプロジェクト コレクション管理者グループの ID 情報を表示します。 adm: ID 指定子を使用して表示します。

tfssecurity /im adm: /collection:CollectionURL 

サンプル出力:

    Resolving identity "adm: "...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: [DatumOne]\Project Collection Administrators
    Description: Members of this application group can perform all privileged operations on the project collection.

    5 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    a [A] [InstanceName]\Team Foundation Administrators
    s [A] [DatumOne]\Project Collection Service Accounts ([DatumOne]\Project Collection Service Accounts)

    Member of 1 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Colleciton Valid Users)

    Done.

例: ID 指定子を使用してセキュリティ グループの ID 情報を表示する

次の例では、架空の会社 "A" のドメイン "Datum1" にある "DatumOne" プロジェクト コレクションの "Datum" プロジェクトのプロジェクト管理者グループの ID 情報を表示します。 adm: ID 指定子を使用して表示します。

tfssecurity /im adm:vstfs:///Classification/TeamProject/ProjectGUID /collection:CollectionURL 

サンプル出力:

    Resolving identity "adm:vstfs:///Classification/TeamProject/ProjectGUID"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXX

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Datum
    Display name: [Datum]\Project Administrators
    Description: Members of this application group can perform all operations in the project.

    2 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)

    Member of 1 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)

    Done.

/imx: 拡張されたメンバーシップの ID に関する情報を表示します

指定したグループの拡張メンバーシップを構成する ID に関する情報を表示するには、 /imx を使用します。

tfssecurity /imx Identity [/collection:CollectionURL] [/server:ServerURL]

前提条件

/imx コマンドを使用するには、/collection パラメーターと /server パラメーターのどちらを使用しているかに応じて、コレクション レベルの情報の表示またはインスタンス レベルの情報の表示アクセス許可が [許可] に設定されている必要があります。 詳細については、「 セキュリティ グループとアクセス許可のリファレンス」を参照してください

パラメーター

引数 説明
ID ユーザーまたはグループの ID。 ID 指定子の詳細については、この記事で後述する 「ID 指定子」を 参照してください。
/collection :CollectionURL /server が使用されていない場合は必須です。 プロジェクト コレクションの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL /collection が使用されていない場合は必須です。 アプリケーション層サーバーの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName

注釈

Azure DevOps 用のアプリケーション層サーバーでこのコマンドを実行します。

TFSSecurity/imx コマンドは、指定されたグループの展開されたメンバーのみを表示します。 この一覧には、指定したグループのメンバーである他のグループだけでなく、それらのメンバー グループのメンバーも含まれます。

例: セキュリティ グループの拡張メンバーシップ情報を表示する

次の例は、"Team Foundation Administrators" グループの拡張メンバーシップの ID 情報を表示します。このグループは、架空の会社 "A. Datum Corporation" のドメイン "Datum1" に存在します。

注意

これらの例は、例示のみを目的としており、架空のものです。 実在するものとは一切関係ありません。

tfssecurity /imx "Team Foundation Administrators" /server:ServerURL

サンプル出力:

    Resolving identity "Team Foundation Administrators"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: Team Foundation Administrators
    Description: Members of this application group can perform all privileged operations on the server.

    10 member(s):
      [U] Datum1\hholt (Holly Holt)
      [U] Datum1\jpeoples (John Peoples)
      [U] Datum1\tommyh (Tommy Hartono)
      [U] Datum1\henriea (Henriette Andersen)
      [U] Datum1\djayne (Darcy Jayne)
      [U] Datum1\aprilr (April Reagan)
      [G] Datum1\InfoSec Secure Environment
      [U] Datum1\nbento (Nuno Bento)
      [U] Datum1\cristp (Cristian Petculescu)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    s [A] [InstanceName]\Team Foundation Service Accounts

    Member of 3 group(s):
    a [A] [DatumOne]\Project Collection Administrators ([DatumOne]\Project Collection Administrators)
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)
    e [A] [InstanceName]\Team Foundation Valid Users

    Done.

次の例では、架空の会社 "A" のドメイン "Datum1" にある "DatumOne" プロジェクト コレクションのプロジェクト コレクション管理者グループの ID 情報を表示します。 adm: ID 指定子を使用して表示します。

tfssecurity /imx adm: /collection:CollectionURL 

サンプル出力:

    Resolving identity "adm: "...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Server scope
    Display name: [DatumOne]\Project Collection Administrators
    Description: Members of this application group can perform all privileged operations on the project collection.

    6 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)
      [G] BUILTIN\Administrators (BUILTIN\Administrators)
    a [A] [InstanceName]\Team Foundation Administrators
    s [A] [InstanceName]\Team Foundation Service Accounts
    s [A] [DatumOne]\Project Collection Service Accounts ([DatumOne]\Project Collection Service Accounts)

    Member of 1 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)

    Done.

例: ID 指定子を使用してセキュリティ グループの ID 情報を表示する

次の例では、架空の会社 "A" のドメイン "Datum1" にある "DatumOne" プロジェクト コレクションの "Datum" プロジェクトのプロジェクト管理者グループの ID 情報を表示します。 adm: ID 指定子を使用して表示します。

tfssecurity /imx adm:vstfs:///Classification/TeamProject/ProjectGUID /collection:CollectionURL 

サンプル出力:

    Resolving identity "adm:vstfs:///Classification/TeamProject/ProjectGUID"...

    SID: S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXX

    DN:

    Identity type: Team Foundation Server application group
    Group type: AdministrativeApplicationGroup
    Project scope: Datum
    Display name: [Datum]\Project Administrators
    Description: Members of this application group can perform all operations in the project.

    2 member(s):
      [U] Datum1\jpeoples (Peoples, John)
      [U] Datum1\hholt (Holt, Holly)

    Member of 2 group(s):
    e [A] [DatumOne]\Project Collection Valid Users ([DatumOne]\Project Collection Valid Users)
    e [A] [InstanceName]\Team Foundation Valid Users

    Done.

[G] や [U] などの出力指定子の詳細については、この記事で後述する 「ID 指定子 」を参照してください。

/m: 明示的および暗黙的なグループ メンバーシップを確認する

/m を使用して、指定したグループまたはユーザーの明示的および暗黙的なグループ メンバーシップ情報をチェックします。

tfssecurity /m GroupIdentity [MemberIdentity] [/collection:CollectionURL] [/server:ServerURL]

前提条件

/m コマンドを使用するには、Team Foundation Administrators セキュリティ グループのメンバーである必要があります。 詳細については、「 セキュリティ グループとアクセス許可のリファレンス」を参照してください

注意

管理資格情報を使ってログオンしている場合でも、この機能を実行するには、昇格した特権でコマンド プロンプトを開く必要があります。

パラメーター

引数 説明
GroupIdentity グループ ID を指定します。 有効な ID 指定子の詳細については、この記事で後述する 「ID 指定子 」を参照してください。
MemberIdentity メンバー ID を指定します。 既定では、この引数の値はコマンドを実行しているユーザーの ID です。 有効な ID 指定子の詳細については、この記事で後述する 「ID 指定子 」を参照してください。
/collection :CollectionURL /server が使用されていない場合は必須です。 プロジェクト コレクションの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName / CollectionName
/server :ServerURL /collection が使用されていない場合は必須です。 アプリケーション層サーバーの URL を次の形式で指定します: http:// ServerName : Port / VirtualDirectoryName

注釈

ローカル アプリケーション層コンピューターでこのコマンドを実行します。

TFSSecurity コマンド ライン ユーティリティの /m コマンドは、直接メンバーシップと拡張メンバーシップの両方をチェックします。

例: セキュリティ グループ内のユーザーのメンバーシップを確認する

次の例では、ユーザー "Datum1\jpeoples" が Team Foundation Administrators サーバー レベルグループに属しているかどうかを確認します。

注意

これらの例は、例示のみを目的としており、架空のものです。 実在するものとは一切関係ありません。

tfssecurity /m "Team Foundation Administrators" n:Datum1\jpeoples /server:http://ADatumCorporation:8080

サンプル出力:

    TFSSecurity - Team Foundation Server Security Tool
    Copyright (c) Microsoft Corporation.  All rights reserved.

    The target Team Foundation Server is http://ADatumCorporation:8080/.
    Resolving identity "Team Foundation Administrators"...
    a [A] [INSTANCE]\Team Foundation Administrators
    Resolving identity "n:Datum1\jpeoples"...
      [U] DATUM1\jpeoples (John Peoples)
    Checking group membership...

    John Peoples IS a member of [INSTANCE]\Team Foundation Administrators.

    Done.

セキュリティ名前空間

注意

名前空間とトークンは、Azure DevOps のすべてのバージョンで有効です。 名前空間は、時間の経過と同時に変更される可能性があります。 名前空間の最新の一覧を取得するには、コマンド ライン ツールまたは REST API のいずれかを実行します。 一部の名前空間は非推奨になりました。 詳細については、セキュリティ名前空間とアクセス許可のリファレンスに関する記事を参照してください。

ID 指定子

ID は、次の表のいずれかの表記を使用して参照できます。

ID 指定子 説明
Sid: Sid。 指定したセキュリティ識別子 (SID) を持つ ID を参照します。 sid:S-1-5-21-2127521184-1604012920-1887927527-588340
n:[D omain]Name 指定した名前を持つ ID を参照します。 Windows の場合、Name はアカウント名です。 参照先の ID がドメイン内にある場合は、ドメイン名が必要です。 アプリケーション グループの場合、Name はグループの表示名、Domain は含まれているプロジェクトの URI または GUID です。 このコンテキストでは、Domain を省略すると、スコープはコレクション レベルであると見なされます。 架空の会社 "A. でドメイン "Datum1" 内のユーザー "John Peoples" の ID を参照する。 Datum Corporation:"

n:DATUM1\jpeoples

アプリケーション グループを参照するには:

n:"正社員"

n:00a10d23-7d45-4439-981b-d3b3e0b0b1ee\Vendors
adm:[Scope] サーバー レベルの "Team Foundation Administrators" やコレクション レベルの "Project Collection Administrators" など、スコープの管理アプリケーション グループを参照します。 省略可能なパラメーター Scope は、GUID と接続文字列を含むプロジェクト URI または URL です。 scope を省略した場合、/instance パラメーターまたは /server パラメーターのどちらを使用するかに基づいて、サーバーまたはコレクションのスコープが想定されます。 どちらの場合も、コロンが必要です。 adm:vstfs://Classification/TeamProject/ Guid
Srv: サービス アカウントのアプリケーション グループを参照します。 適用なし
すべての: すべてのグループと ID を参照します。 適用なし
文字列 修飾されていない文字列を参照します。 String が S-1 で始まる場合は、SID として識別されます。 String が CN= または LDAP:// で始まる場合は、識別名として識別されます。 それ以外の場合、String は名前として識別されます。 "チーム テスト担当者"

型マーカー

次のマーカーは、出力メッセージ内の ID と ACE の種類を識別するために使用されます。

ID 型マーカー

ID の種類のマーカー 説明
U Windows ユーザー。
G Windows グループ。
A アプリケーション グループAzure DevOps Serverします。
a [ A ] 管理アプリケーション グループ。
s [ A ] サービス アカウント アプリケーション グループ。
X ID が無効です。
? ID は不明です。

アクセス制御エントリ マーカー

アクセス制御エントリ マーカー 説明
+ アクセス制御エントリを許可します。
- DENY アクセス制御エントリ。
* [] 継承されたアクセス制御エントリ。