Modules/AzureDevOpsDsc.Common/Resources/Functions/Public/AzDoOrganizationSettings/Set-AzDoOrganizationSettings.ps1
|
Function Set-AzDoOrganizationSettings { [CmdletBinding()] param ( [Parameter()][string]$OrganizationName, [Parameter()][bool]$AllowPublicProjects, [Parameter()][bool]$AllowExternalGuestAccess, [Parameter()][bool]$EnableOAuthAuthentication, [Parameter()][bool]$EnableSSHAuthentication, [Parameter()][bool]$DisallowAadGuestUserPolicy, [Parameter()][HashTable]$LookupResult, [Parameter()][Ensure]$Ensure, [Parameter()][System.Management.Automation.SwitchParameter]$Force ) Write-Verbose "[Set-AzDoOrganizationSettings] Updating organization settings." $settings = @{} if ($PSBoundParameters.ContainsKey('AllowPublicProjects')) { $settings['Microsoft.VisualStudio.Services.EnablePublicProjects'] = $AllowPublicProjects.ToString().ToLower() } if ($PSBoundParameters.ContainsKey('AllowExternalGuestAccess')) { $settings['Microsoft.VisualStudio.Services.Security.EnableAADGuestPolicy'] = (!$AllowExternalGuestAccess).ToString().ToLower() } if ($PSBoundParameters.ContainsKey('EnableOAuthAuthentication')) { $settings['Microsoft.VisualStudio.Services.Security.EnableOAuthToken'] = $EnableOAuthAuthentication.ToString().ToLower() } if ($PSBoundParameters.ContainsKey('EnableSSHAuthentication')) { $settings['Microsoft.VisualStudio.Services.Security.EnableSSHPolicy'] = $EnableSSHAuthentication.ToString().ToLower() } if ($PSBoundParameters.ContainsKey('DisallowAadGuestUserPolicy')) { $settings['Microsoft.VisualStudio.Services.Security.DisallowAADGuestUserPolicy'] = $DisallowAadGuestUserPolicy.ToString().ToLower() } if ($settings.Count -eq 0) { Write-Verbose "[Set-AzDoOrganizationSettings] No settings to update." return } $params = @{ ApiUri = 'https://dev.azure.com/{0}/' -f (Get-AzDoOrganizationName) Settings = $settings } Set-DevOpsOrganizationSettings @params Write-Verbose "[Set-AzDoOrganizationSettings] Organization settings updated." } |