👌 IMPROVE: Allow creation of new group

Signed-off-by: Luke Tainton <luke@tainton.uk>
This commit is contained in:
2020-05-19 15:39:18 +01:00
committed by Luke Tainton
parent 42fdf856b5
commit cb3d1eb3bd

View File

@@ -10,19 +10,32 @@ Function Import-TeamsUsers {
.PARAMETER File .PARAMETER File
The path to the CSV file that contains your users. Can either be an absolute path or relative path. The path to the CSV file that contains your users. Can either be an absolute path or relative path.
.PARAMETER Create
If specified, create a new Group first, then add the users from the CSV file.
.EXAMPLE .EXAMPLE
Import-TeamsUsers -File "users.csv" Import-TeamsUsers -File "users.csv"
.EXAMPLE
Import-TeamsUsers -Create -File "users.csv"
#> #>
Param( Param(
[parameter(Mandatory=$true, position=1, ParameterSetName='Params', HelpMessage="Specify CSV file")] [parameter(Mandatory=$true, position=1, ParameterSetName='Params', HelpMessage="Specify CSV file")]
[string]$File [string]$File,
[parameter(Mandatory=$false, position=2, ParameterSetName='Params', HelpMessage="Create new Teams group")]
[switch]$Create
) )
Begin { Begin {
$ErrorActionPreference = 'Stop' $ErrorActionPreference = 'Stop'
##### IMPORT CSV FILE ##### ##### IMPORT CSV FILE #####
Try {
$Users = Import-CSV $File $Users = Import-CSV $File
} Catch {
Write-Host -ForegroundColor Red "$File is not a valid CSV file."
}
##### CHECK MODULE IS INSTALLED AND IMPORTED ##### ##### CHECK MODULE IS INSTALLED AND IMPORTED #####
if (Get-Module -ListAvailable -Name MicrosoftTeams) { if (Get-Module -ListAvailable -Name MicrosoftTeams) {
@@ -35,6 +48,20 @@ Function Import-TeamsUsers {
} }
Process { Process {
If ($Create) {
##### CREATE NEW TEAM #####
Clear-Host
$NewTeamName = Read-Host -Prompt "Name of the new group"
$NewTeamDesc = Read-Host -Prompt "Group description"
$NewTeamPriv = Read-Host -Prompt "P[u]blic or P[r]ivate?"
If ($NewTeamPriv -Eq "u") {
$NewTeamVis = "Public"
} Elseif ($NewTeamPriv -Eq "r") {
$NewTeamVis = "Private"
}
$NewTeam = New-Team -DisplayName $NewTeamName -MailNickName $NewTeamName -Description "Testing team creation from PowerShell" -Visibility $NewTeamVis
$GroupId = $NewTeam.GroupId
} Else {
##### GET USER'S TEAMS ##### ##### GET USER'S TEAMS #####
Clear-Host Clear-Host
Write-Host -ForegroundColor Green "Getting your teams - please wait" Write-Host -ForegroundColor Green "Getting your teams - please wait"
@@ -52,6 +79,7 @@ Function Import-TeamsUsers {
Write-Host "Teams that you own:" Write-Host "Teams that you own:"
$EligibleTeams | ForEach-Object {[PSCustomObject]$_} | Format-Table 'GroupId', 'DisplayName' -AutoSize $EligibleTeams | ForEach-Object {[PSCustomObject]$_} | Format-Table 'GroupId', 'DisplayName' -AutoSize
$GroupId = Read-Host -Prompt "GroupId of the desired group" $GroupId = Read-Host -Prompt "GroupId of the desired group"
}
##### ENROL USERS ##### ##### ENROL USERS #####
$global:UsersAdded = 0; $global:UsersAdded = 0;