Skip to content

Commit dd1f7c8

Browse files
authored
Merge pull request #288 from KelvinTegelaar/dev
[pull] dev from KelvinTegelaar:dev
2 parents e28f691 + 5f7a754 commit dd1f7c8

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
function Invoke-CIPPStandardTeamsGuestAccess {
2+
<#
3+
.FUNCTIONALITY
4+
Internal
5+
.COMPONENT
6+
(APIName) TeamsGuestAccess
7+
.SYNOPSIS
8+
(Label) Allow guest users in Teams
9+
.DESCRIPTION
10+
(Helptext) Allow guest users access to teams.
11+
(DocsDescription) Allow guest users access to teams. Guest users are users who are not part of your organization but have been invited to collaborate with your organization in Teams. This setting allows you to control whether guest users can access Teams.
12+
.NOTES
13+
CAT
14+
Teams Standards
15+
TAG
16+
ADDEDCOMPONENT
17+
{"type":"switch","name":"standards.TeamsGuestAccess.AllowGuestUser","label":"Allow guest users"}
18+
IMPACT
19+
Low Impact
20+
ADDEDDATE
21+
2025-06-03
22+
POWERSHELLEQUIVALENT
23+
Set-CsTeamsClientConfiguration -AllowGuestUser \$true
24+
RECOMMENDEDBY
25+
UPDATECOMMENTBLOCK
26+
Run the Tools\Update-StandardsComments.ps1 script to update this comment block
27+
.LINK
28+
https://docs.cipp.app/user-documentation/tenant/standards/list-standards
29+
#>
30+
31+
param($Tenant, $Settings)
32+
33+
$CurrentState = New-TeamsRequest -TenantFilter $Tenant -Cmdlet 'Get-CsTeamsClientConfiguration' -CmdParams @{Identity = 'Global' } | Select-Object AllowGuestUser
34+
35+
if ($null -eq $Settings.AllowGuestUser) { $Settings.AllowGuestUser = $false }
36+
37+
$StateIsCorrect = ($CurrentState.AllowGuestUser -eq $Settings.AllowGuestUser)
38+
39+
if ($Settings.remediate -eq $true) {
40+
if ($StateIsCorrect -eq $true) {
41+
Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Teams Guest Access already set.' -sev Info
42+
} else {
43+
$cmdParams = @{
44+
Identity = 'Global'
45+
AllowGuestUser = $Settings.AllowGuestUser
46+
}
47+
48+
try {
49+
New-TeamsRequest -TenantFilter $Tenant -Cmdlet 'Set-CsTeamsClientConfiguration' -CmdParams $cmdParams
50+
Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Updated Teams Guest Access settings' -sev Info
51+
} catch {
52+
$ErrorMessage = Get-NormalizedError -Message $_.Exception.Message
53+
Write-LogMessage -API 'Standards' -tenant $Tenant -message "Failed to set Teams Guest Access settings. Error: $ErrorMessage" -sev Error
54+
}
55+
}
56+
}
57+
58+
if ($Settings.alert -eq $true) {
59+
if ($StateIsCorrect -eq $true) {
60+
Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Teams Guest Access settings is set correctly.' -sev Info
61+
} else {
62+
Write-StandardsAlert -message 'Teams Guest Access settings is not set correctly.' -object $CurrentState -tenant $Tenant -standardName 'TeamsGuestAccess' -standardId $Settings.standardId
63+
Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Teams Guest Access settings is not set correctly.' -sev Info
64+
}
65+
}
66+
67+
if ($Settings.report -eq $true) {
68+
if ($StateIsCorrect) {
69+
$FieldValue = $true
70+
} else {
71+
$FieldValue = $CurrentState
72+
}
73+
Set-CIPPStandardsCompareField -FieldName 'standards.TeamsGuestAccess' -FieldValue $FieldValue -Tenant $Tenant
74+
Add-CIPPBPAField -FieldName 'TeamsGuestAccess' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $Tenant
75+
76+
}
77+
}

0 commit comments

Comments
 (0)