次の方法で共有


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

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

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

Important

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

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

Permissions

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

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

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

[前提条件]

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

パラメーター

Argument Description
Namespace ユーザーまたはグループのアクセス許可を追加するグループを含む名前空間。 tfssecurity /a コマンドを使用して、サーバー、コレクション、およびプロジェクト レベルで名前空間の一覧を表示することもできます。
アイデンティティ ユーザーまたはグループの ID。 ID 指定子の詳細については、この記事で後述する ID 指定子 を参照してください。
  • 許す
    グループまたはユーザーは、アクションで指定された操作を実行できます。
  • 打ち消す
    グループまたはユーザーは、アクションで指定された操作を実行できません。
/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 パラメーターのどちらを使用しているかに応じて、コレクション レベルの情報の表示またはインスタンス レベルの情報の表示アクセス許可が [許可] に設定されている必要があります。 プロジェクトのアクセス許可を変更する場合は、プロジェクトのプロジェクト レベルの情報の編集権限も [許可] に設定されている必要があります。

パラメーター

Argument Description
Namespace ユーザーまたはグループのアクセス許可を削除するグループを含む名前空間。 tfssecurity /a コマンドを使用して、サーバー、コレクション、およびプロジェクト レベルで名前空間の一覧を表示することもできます。
アイデンティティ ユーザーまたはグループの ID。 ID 指定子の詳細については、この記事で後述する ID 指定子 を参照してください。
  • 許す
    グループまたはユーザーは、アクションで指定された操作を実行できます。
  • 打ち消す
    グループまたはユーザーは、アクションで指定された操作を実行できません。
/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 のアクセス許可リファレンス」を参照してください。

パラメーター

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

注釈

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

アクセス制御エントリは、ユーザー、グループ、サービス、またはコンピューターがコンピューターまたはサーバーで実行する権限を持つ操作を決定するセキュリティ メカニズムです。

例: サーバー レベルの名前空間への 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.

Groups

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

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

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

[前提条件]

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

パラメーター

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

注釈

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

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

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

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

tfssecurity /g /collection:CollectionURL

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

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

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

[前提条件]

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

パラメーター

Argument Description
グループID グループ ID を指定します。 有効な ID 指定子の詳細については、この記事で後述する ID 指定子 を参照してください。
メンバー識別子 メンバー 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 Administrators グループに追加します。

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

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

パラメーター

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

注釈

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

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

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

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

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

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 情報の編集] 権限が [許可] に設定されている必要があります。 詳細については、「 権限リファレンス」を参照してください

パラメーター

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

注釈

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

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

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

次の例では、URI "vstfs://Classification/TeamProject/00000000-0000-0000-0000-000000000000" が指定するプロジェクトに固有のグループを作成します。 グループは "テスト グループ" という名前で、「このグループはテスト用です」という説明があります。

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

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

コマンドを実行すると、チーム エクスプローラーでグループを確認できます。 コマンドで使用したプロジェクトを右クリックし、[プロジェクトの設定] をクリックし、[グループ メンバーシップ] をクリックします。 [TeamProjectName のプロジェクト グループ] ダイアログ ボックスの [グループ] の一覧には、テスト グループが含まれています。

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

パラメーター

Argument Description
GroupName グループ名。
グループの説明 グループの説明。 Optional.
/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-: グループのメンバーシップからユーザーまたはグループを削除する」を参照してください。

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

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

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

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

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

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

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

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

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

[前提条件]

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

パラメーター

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

パラメーター

Argument Description
グループアイデンティティ グループ ID を指定します。 有効な ID 指定子の詳細については、この記事で後述する ID 指定子 を参照してください。
グループの説明 グループの新しい説明を指定します。
/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 パラメーターのどちらを使用しているかに応じて、コレクション レベルの情報の表示とコレクション レベルの情報の編集、またはインスタンス レベルの情報の表示とインスタンス レベルの情報の編集のアクセス許可が [許可] に設定されている必要があります。 詳細については、「 セキュリティ グループとアクセス許可のリファレンス」を参照してください

パラメーター

Argument Description
グループアイデンティティ グループ 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 パラメーターを使用している場合はインスタンスレベルの情報の表示のアクセス許可が「許可」に設定されている必要があります。 詳細については、「 セキュリティ グループとアクセス許可のリファレンス」を参照してください

パラメーター

Argument Description
アイデンティティ ユーザーまたはアプリケーション グループの 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) またはアプリケーション層サーバー (/instance) 内の各グループに関する情報を表示します。 メンバーシップ情報は表示されません。

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

パラメーター

Argument Description
アイデンティティ ユーザーまたはグループの 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 を表示する

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

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

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 指定子を使用した Datum Corporation"。

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 指定子を使用する Datum Corporation" です。

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 に関する情報を表示します

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

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

[前提条件]

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

パラメーター

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

注釈

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

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

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

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

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

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 指定子を使用する Datum Corporation" です。

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 指定子を使用する Datum Corporation" です。

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 セキュリティ グループのメンバーである必要があります。 詳細については、「 セキュリティ グループとアクセス許可のリファレンス」を参照してください

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

パラメーター

Argument Description
グループアイデンティティ グループ ID を指定します。 有効な ID 指定子の詳細については、この記事で後述する ID 指定子 を参照してください。
メンバーアイデンティティ メンバー 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 のいずれかを実行します。 一部の名前空間は非推奨になりました。 詳細については、「Security 名前空間とアクセス許可のリファレンス」を参照してください。

アイデンティティ指定子

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

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

n:DATUM1\jpeoples

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

n:"正社員"

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

型マーカー

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

認識タイプマーカー

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

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

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