en-US/about_AzDoOrganizationPermission.help.txt

.NAME
    AzDoOrganizationPermission
 
.SYNOPSIS
    DSC resource for managing organization-level permissions.
 
.DESCRIPTION
    This resource manages permissions in the 'Collection' security namespace: the organization-level
    permissions shown under Organization settings > Permissions, such as 'Create new projects',
    'Edit instance-level information' and 'Manage enterprise policies'.
 
    The namespace has a single root token. The resource reads it from the live ACL rather than
    assuming its spelling, and reports an error if no root ACL is found. The root has no parent, so
    there is no isInherited property: the ACL's inheritance flag is written back as it was read.
 
    Only the identities listed in Permissions are managed. Every other identity's entry on the
    organization root is carried through unchanged when permissions are written, and removing the
    resource clears only the listed identities' entries. The organization ACL itself is never
    deleted.
 
.PARAMETER GroupName
    Key - System.String
    The group this configuration block is for. This is the key property, so each group can be
    configured in its own block. Use the format [OrganizationName]\GroupName or
    [TEAM FOUNDATION]\GroupName.
 
.PARAMETER Permissions
    Write - HashTable[]
    An array of hashtables, each with an 'Identity' and a 'Permission' map from an action name
    (for example 'Create new projects') to 'Allow' or 'Deny'.
 
.EXAMPLE 1
 
This example shows how to allow a group to create projects in an Azure DevOps organization.
 
Configuration Example
{
    Import-DscResource -ModuleName 'AzureDevOpsDscNative'
 
    node localhost
    {
        AzDoOrganizationPermission 'AddAzDoOrganizationPermission'
        {
            Ensure = 'Present'
            GroupName = '[test-organization]\Project Creators'
            Permissions = @(
                @{
                    Identity = '[test-organization]\Project Creators'
                    Permission = @{ 'Create new projects' = 'Allow' }
                }
            )
        }
    }
}
 
.EXAMPLE 2
 
This example shows how to change a group's organization-level permissions.
 
Configuration Example
{
    Import-DscResource -ModuleName 'AzureDevOpsDscNative'
 
    node localhost
    {
        AzDoOrganizationPermission 'UpdateAzDoOrganizationPermission'
        {
            Ensure = 'Present'
            GroupName = '[test-organization]\Project Creators'
            Permissions = @(
                @{
                    Identity = '[test-organization]\Project Creators'
                    Permission = @{ 'Create new projects' = 'Deny'; 'Manage enterprise policies' = 'Allow' }
                }
            )
        }
    }
}
 
.EXAMPLE 3
 
This example shows how to clear a group's organization-level permissions. Other identities' permissions are left as they are.
 
Configuration Example
{
    Import-DscResource -ModuleName 'AzureDevOpsDscNative'
 
    node localhost
    {
        AzDoOrganizationPermission 'RemoveAzDoOrganizationPermission'
        {
            Ensure = 'Absent'
            GroupName = '[test-organization]\Project Creators'
            Permissions = @(
                @{
                    Identity = '[test-organization]\Project Creators'
                    Permission = @{ 'Create new projects' = 'Allow' }
                }
            )
        }
    }
}