Remove-VSTeamAccessControlEntry
SYNOPSIS
Removes specified ACEs in the ACL for the provided token. The request URI contains the namespace ID, the target token, and a single or list of descriptors that should be removed. Only supports removing AzD based users/groups.
SYNTAX
byNamespace (Default)
Remove-VSTeamAccessControlEntry -securityNamespace <SecurityNamespace> [-token <String>] [-descriptor <Array>]
[-force] [-WhatIf] [-Confirm] [<CommonParameters>]
byNamespaceId
Remove-VSTeamAccessControlEntry -securityNamespaceId <Guid> [-token <String>] [-descriptor <Array>] [-force]
[-WhatIf] [-Confirm] [<CommonParameters>]
DESCRIPTION
Removes specified ACEs in the ACL for the provided token. The request URI contains the namespace ID, the target token, and a single or list of descriptors that should be removed. Only supports removing AzD based users/groups.
EXAMPLES
Example 1
Remove-VSTeamAccessControlEntry -securityNamespaceId "2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87" -token "repov2/$projectid/$repoid" -descriptor @("vssgp.Uy0xLTktMTU1MTM3NDI0NS0xMzk4ODc2NjMwLTEwMTQ0ODQ4MTMtMzE5MDA4NTI4Ny0xNDU4NTkwODY1LTEtMzE1MjE3NTkwMy03NjE1NjY3OTMtMjgwMTUwMjI2Ny0zMjU5Mjg5MTIy")
This will remove the specified descriptor from the specified repository, using the security namespace id, while confirming for the remove action.
Example 2
Remove-VSTeamAccessControlEntry -securityNamespaceId "2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87" -token "repov2/$projectid/$repoid" -descriptor @("vssgp.Uy0xLTktMTU1MTM3NDI0NS0xMzk4ODc2NjMwLTEwMTQ0ODQ4MTMtMzE5MDA4NTI4Ny0xNDU4NTkwODY1LTEtMzE1MjE3NTkwMy03NjE1NjY3OTMtMjgwMTUwMjI2Ny0zMjU5Mjg5MTIy") -force
This will remove the specified descriptor from the specified repository, using the security namespace id, with no confirmation for the remove action.
Example 3
Remove-VSTeamAccessControlEntry -securityNamespaceId "2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87" -token "repov2/$projectid/$repoid" -descriptor @("descriptor1","descriptor2")
This will remove multiple descriptors from the specified repository, using the security namespace id, while confirming for the remove action.
Example 4
Remove-VSTeamAccessControlEntry -securityNamespace [vsteam_lib.SecurityNamespace]$securityNamespace -token "repov2/$projectid/$repoid" -descriptor @("vssgp.Uy0xLTktMTU1MTM3NDI0NS0xMzk4ODc2NjMwLTEwMTQ0ODQ4MTMtMzE5MDA4NTI4Ny0xNDU4NTkwODY1LTEtMzE1MjE3NTkwMy03NjE1NjY3OTMtMjgwMTUwMjI2Ny0zMjU5Mjg5MTIy")
This will remove the specified descriptor from the specified repository, using a security namespace object, while confirming for the remove action.
Example 5
Remove-VSTeamAccessControlEntry -securityNamespace [vsteam_lib.SecurityNamespace]$securityNamespace -token "repov2/$projectid/$repoid" -descriptor @("vssgp.Uy0xLTktMTU1MTM3NDI0NS0xMzk4ODc2NjMwLTEwMTQ0ODQ4MTMtMzE5MDA4NTI4Ny0xNDU4NTkwODY1LTEtMzE1MjE3NTkwMy03NjE1NjY3OTMtMjgwMTUwMjI2Ny0zMjU5Mjg5MTIy") -force
This will remove the specified descriptor from the specified repository, using a security namespace object, with no confirmation for the remove action.
Example 6
Remove-VSTeamAccessControlEntry -securityNamespace [vsteam_lib.SecurityNamespace]$securityNamespace -token "repov2/$projectid/$repoid" -descriptor @("descriptor1","descriptor2")
This will remove multiple descriptors from the specified repository, using a security namespace object, while confirming for the remove action.
PARAMETERS
-WhatIf
Shows what would happen if the function runs. The function is not run.
Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-Confirm
Prompts you for confirmation before running the function.
Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-descriptor
An array of descriptors of users/groups to be removed
Type: Array
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-force
Forces the function without confirmation.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-securityNamespace
Security namespace object.
Type: SecurityNamespace
Parameter Sets: byNamespace
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False
-securityNamespaceId
Security namespace identifier.
Valid IDs are:
AzD:
- Analytics (58450c49-b02d-465a-ab12-59ae512d6531)
- AnalyticsViews (d34d3680-dfe5-4cc6-a949-7d9c68f73cba)
- ReleaseManagement (7c7d32f7-0e86-4cd6-892e-b35dbba870bd)
- ReleaseManagement2 (c788c23e-1b46-4162-8f5e-d7585343b5de)
- Identity (5a27515b-ccd7-42c9-84f1-54c998f03866)
- WorkItemTrackingAdministration (445d2788-c5fb-4132-bbef-09c4045ad93f)
- DistributedTask (101eae8c-1709-47f9-b228-0e476c35b3ba)
- WorkItemQueryFolders (71356614-aad7-4757-8f2c-0fb3bff6f680)
- GitRepositories (2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87)
- VersionControlItems2 (3c15a8b7-af1a-45c2-aa97-2cb97078332e)
- EventSubscriber (2bf24a2b-70ba-43d3-ad97-3d9e1f75622f)
- WorkItemTrackingProvision (5a6cd233-6615-414d-9393-48dbb252bd23)
- ServiceEndpoints (49b48001-ca20-4adc-8111-5b60c903a50c)
- ServiceHooks (cb594ebe-87dd-4fc9-ac2c-6a10a4c92046)
- Chat (bc295513-b1a2-4663-8d1a-7017fd760d18)
- Collection (3e65f728-f8bc-4ecd-8764-7e378b19bfa7)
- Proxy (cb4d56d2-e84b-457e-8845-81320a133fbb)
- Plan (bed337f8-e5f3-4fb9-80da-81e17d06e7a8)
- Process (2dab47f9-bd70-49ed-9bd5-8eb051e59c02)
- AccountAdminSecurity (11238e09-49f2-40c7-94d0-8f0307204ce4)
- Library (b7e84409-6553-448a-bbb2-af228e07cbeb)
- Environment (83d4c2e6-e57d-4d6e-892b-b87222b7ad20)
- Project (52d39943-cb85-4d7f-8fa8-c6baac873819)
- EventSubscription (58b176e7-3411-457a-89d0-c6d0ccb3c52b)
- CSS (83e28ad4-2d72-4ceb-97b0-c7726d5502c3)
- TeamLabSecurity (9e4894c3-ff9a-4eac-8a85-ce11cafdc6f1)
- ProjectAnalysisLanguageMetrics (fc5b7b85-5d6b-41eb-8534-e128cb10eb67)
- Tagging (bb50f182-8e5e-40b8-bc21-e8752a1e7ae2)
- MetaTask (f6a4de49-dbe2-4704-86dc-f8ec1a294436)
- Iteration (bf7bfa03-b2b7-47db-8113-fa2e002cc5b1)
- Favorites (fa557b48-b5bf-458a-bb2b-1b680426fe8b)
- Registry (4ae0db5d-8437-4ee8-a18b-1f6fb38bd34c)
- Graph (c2ee56c9-e8fa-4cdd-9d48-2c44f697a58e)
- ViewActivityPaneSecurity (dc02bf3d-cd48-46c3-8a41-345094ecc94b)
- Job (2a887f97-db68-4b7c-9ae3-5cebd7add999)
- WorkItemTracking (73e71c45-d483-40d5-bdba-62fd076f7f87)
- StrongBox (4a9e8381-289a-4dfd-8460-69028eaa93b3)
- Server (1f4179b3-6bac-4d01-b421-71ea09171400)
- TestManagement (e06e1c24-e93d-4e4a-908a-7d951187b483)
- SettingEntries (6ec4592e-048c-434e-8e6c-8671753a8418)
- BuildAdministration (302acaca-b667-436d-a946-87133492041c)
- Location (2725d2bc-7520-4af4-b0e3-8d876494731f)
- Boards (251e12d9-bea3-43a8-bfdb-901b98c0125e)
- UtilizationPermissions (83abde3a-4593-424e-b45f-9898af99034d)
- WorkItemsHub (c0e7a722-1cad-4ae6-b340-a8467501e7ce)
- WebPlatform (0582eb05-c896-449a-b933-aa3d99e121d6)
- VersionControlPrivileges (66312704-deb5-43f9-b51c-ab4ff5e351c3)
- Workspaces (93bafc04-9075-403a-9367-b7164eac6b5c)
- CrossProjectWidgetView (093cbb02-722b-4ad6-9f88-bc452043fa63)
- WorkItemTrackingConfiguration (35e35e8e-686d-4b01-aff6-c369d6e36ce0)
- Discussion Threads (0d140cae-8ac1-4f48-b6d1-c93ce0301a12)
- BoardsExternalIntegration (5ab15bc8-4ea1-d0f3-8344-cab8fe976877)
- DataProvider (7ffa7cf4-317c-4fea-8f1d-cfda50cfa956)
- Social (81c27cc8-7a9f-48ee-b63f-df1e1d0412dd)
- Security (9a82c708-bfbe-4f31-984c-e860c2196781)
- IdentityPicker (a60e0d84-c2f8-48e4-9c0c-f32da48d5fd1)
- ServicingOrchestration (84cc1aa4-15bc-423d-90d9-f97c450fc729)
- Build (33344d9c-fc72-4d6f-aba5-fa317101a7e9)
- DashboardsPrivileges (8adf73b7-389a-4276-b638-fe1653f7efc7)
- VersionControlItems (a39371cf-0841-4c16-bbd3-276e341bc052)
VSSPS:
- EventSubscriber (2bf24a2b-70ba-43d3-ad97-3d9e1f75622f) (VSSPS)
- EventSubscription (58b176e7-3411-457a-89d0-c6d0ccb3c52b) (VSSPS)
- Registry (4ae0db5d-8437-4ee8-a18b-1f6fb38bd34c) (VSSPS)
- Graph (c2ee56c9-e8fa-4cdd-9d48-2c44f697a58e) (VSSPS)
- Invitation (ea0b4d1e-577a-4797-97b5-2f5755e548d5) (VSSPS)
- SystemGraph (b24dfdf1-285a-4ea6-a55b-32549a68121d) (VSSPS)
- Job (2a887f97-db68-4b7c-9ae3-5cebd7add999) (VSSPS)
- CommerceCollectionSecurity (307be2d3-12ed-45c2-aacf-6598760efca7) (VSSPS)
- StrongBox (4a9e8381-289a-4dfd-8460-69028eaa93b3) (VSSPS)
- GroupLicensing (c6a4fd35-b508-49eb-8ea7-7189df5f3698) (VSSPS)
- Server (1f4179b3-6bac-4d01-b421-71ea09171400) (VSSPS)
- SettingEntries (6ec4592e-048c-434e-8e6c-8671753a8418) (VSSPS)
- RemotableTemplateTest (ccdcb71c-4780-4a42-9bb4-8bce07a7628f) (VSSPS)
- Location (2725d2bc-7520-4af4-b0e3-8d876494731f) (VSSPS)
- WebPlatform (0582eb05-c896-449a-b933-aa3d99e121d6) (VSSPS)
- DataProvider (7ffa7cf4-317c-4fea-8f1d-cfda50cfa956) (VSSPS)
- Security (9a82c708-bfbe-4f31-984c-e860c2196781) (VSSPS)
- IdentityPicker (a60e0d84-c2f8-48e4-9c0c-f32da48d5fd1) (VSSPS)
- ServicingOrchestration (84cc1aa4-15bc-423d-90d9-f97c450fc729) (VSSPS)
Type: Guid
Parameter Sets: byNamespaceId
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-token
The security Token
Valid token formats are:
- Git Repository (repov2/$projectID/$repositoryID)
- Build Definition ($projectID/$buildDefinitionID)
- Release Definition ($projectID/$releaseDefinitionID, $projectID/Path/to/Release/$releaseDefinitionID)
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
INPUTS
OUTPUTS
NOTES
This function outputs a non-terminating error if the ACE removal from the ACL returns $False. This can be due to the wrong descriptor being provided, or the descriptor already not being on the ACL.
Prerequisites:
Set the account and version that all calls will use with Set-VSTeamAccount. Default version sets to API version 3.0 (TFS2017) if not manually set.
tips:
- check called version of the API with Get-VSTeamAPIVersion or Get-VSTeamInfo
- use Set-VSTeamDefaultProject to set default project for every call
- use Set-VSTeamDefaultAPITimeout to change the default timeout of 60 seconds for all calls.
- use Profiles to load an account and the correct version