DSCResources/cTeamsClientConfiguration/cTeamsClientConfiguration.schema.psm1
|
configuration cTeamsClientConfiguration { param ( [Parameter(Mandatory = $true)] [ValidateSet('Yes')] [string] $IsSingleInstance, [Parameter()] [bool] $AllowBox, [Parameter()] [bool] $AllowDropBox, [Parameter()] [bool] $AllowEmailIntoChannel, [Parameter()] [bool] $AllowGoogleDrive, [Parameter()] [bool] $AllowGuestUser, [Parameter()] [bool] $AllowOrganizationTab, [Parameter()] [bool] $AllowResourceAccountSendMessage, [Parameter()] [bool] $AllowRoleBasedChatPermissions, [Parameter()] [bool] $AllowScopedPeopleSearchandAccess, [Parameter()] [bool] $AllowShareFile, [Parameter()] [bool] $AllowSkypeBusinessInterop, [Parameter()] [bool] $AllowEgnyte, [Parameter()] [ValidateSet('NotRequired', 'RequiredOutsideScheduleMeeting', 'AlwaysRequired')] [string] $ContentPin, [Parameter()] [bool] $ExtendedWorkInfoInPeopleSearch, [Parameter()] [ValidateSet('NoAccess', 'PartialAccess', 'FullAccess')] [string] $ResourceAccountContentAccess, [Parameter()] [string[]] $RestrictedSenderList, [Parameter()] [ValidateSet('MicrosoftDefault', 'Disabled')] [string] $UseUnifiedDomain, [Parameter()] [PSCredential] $Credential, [Parameter()] [string] $ApplicationId, [Parameter()] [string] $TenantId, [Parameter()] [string] $CertificateThumbprint, [Parameter()] [PSCredential] $CertificatePassword, [Parameter()] [string] $CertificatePath, [Parameter()] [bool] $ManagedIdentity, [Parameter()] [string[]] $AccessTokens ) <# TeamsClientConfiguration [String] #ResourceName { IsSingleInstance = [string]{ Yes } [AccessTokens = [string[]]] [AllowBox = [bool]] [AllowDropBox = [bool]] [AllowEgnyte = [bool]] [AllowEmailIntoChannel = [bool]] [AllowGoogleDrive = [bool]] [AllowGuestUser = [bool]] [AllowOrganizationTab = [bool]] [AllowResourceAccountSendMessage = [bool]] [AllowRoleBasedChatPermissions = [bool]] [AllowScopedPeopleSearchandAccess = [bool]] [AllowShareFile = [bool]] [AllowSkypeBusinessInterop = [bool]] [ApplicationId = [string]] [CertificatePassword = [PSCredential]] [CertificatePath = [string]] [CertificateThumbprint = [string]] [ContentPin = [string]{ AlwaysRequired | NotRequired | RequiredOutsideScheduleMeeting }] [Credential = [PSCredential]] [DependsOn = [string[]]] [ExtendedWorkInfoInPeopleSearch = [bool]] [ManagedIdentity = [bool]] [PsDscRunAsCredential = [PSCredential]] [ResourceAccountContentAccess = [string]{ FullAccess | NoAccess | PartialAccess }] [RestrictedSenderList = [string[]]] [TenantId = [string]] [UseUnifiedDomain = [string]{ Disabled | MicrosoftDefault }] } #> Import-DscResource -ModuleName PSDesiredStateConfiguration Import-DscResource -ModuleName Microsoft365DSC $dscResourceName = 'TeamsClientConfiguration' $param = $PSBoundParameters $param.Remove("InstanceName") $dscParameterKeys = 'IsSingleInstance' -split ', ' $keyValues = foreach ($key in $dscParameterKeys) { $param.$key } $executionName = $keyValues -join '_' $executionName = $executionName -replace "[\s()\\:*-+/{}```"']", '_' (Get-DscSplattedResource -ResourceName $dscResourceName -ExecutionName $executionName -Properties $param -NoInvoke).Invoke($param) } |