ameliapond
ameliapond

Reputation: 218

How to create a Microsoft Team using a Queue Triggered Azure Function writed in PowerShell?

I want to create a Team by using an azure function triggered by an Azure Queue. Unfortunetly when I run the code it is not working inside the Azure Function.

I'm wondering. Is there a way to create a Microsoft Team using PowerShell inside an Azure Function ?

Import-module MicrosoftTeams
$group = New-Team -MailNickname "teamTitle" -displayname "teamTitle" -Visibility "private"
Add-TeamUser -GroupId $group.GroupId -User "[email protected]"
New-TeamChannel -GroupId $group.GroupId -DisplayName "General"

Working locally. Not working within the Azure Function.

Bellow the error i'm getting :

ERROR: Import-Module : The specified module 'MicrosoftTeams' was not loaded because no valid
module file was found in any module directory. At D:\home\site\wwwroot\CreateTeam\run.ps1:3
char:1 + Import-Module MicrosoftTeams +  [...]

Thank you

Upvotes: 0

Views: 515

Answers (3)

yfouillet
yfouillet

Reputation: 109

Currently this module is not yet natively integrated into the azure functions under powershell

To see all the available packages go in App Service -> Advanced Tools -> DebugConsole -> Powershell and run :

Write-Output ‘Getting PowerShell Module’
$result = Get-Module -ListAvailable |
Select-Object Name, Version, ModuleBase |
Sort-Object -Property Name |
Format-Table -wrap |
Out-String
Write-output `n$result

To manually add a package, It is necessary to create a directory "Module" At the same level as the directory of the function, They will be automatically preloaded.

(https://learn.microsoft.com/en-us/azure/azure-functions/functions-reference-powershell step "Function app-level Modules folder")

Upvotes: 1

Kartheek R
Kartheek R

Reputation: 310

After installation of the module. use below code in your script to automate the process.

$securedpassword = ConvertTo-SecureString $Password -AsPlainText -Force
$mycredentials = New-Object System.Management.Automation.PSCredential ($Username, $securedpassword )
$res = Connect-MicrosoftTeams -Credential $mycredentials

Upvotes: 0

Anatoli Beliaev
Anatoli Beliaev

Reputation: 1664

Based on the error message, your Function app does not have the MicrosoftTeams module installed. You need to include a reference to this module to the requirements.psd1 file (see https://learn.microsoft.com/azure/azure-functions/functions-reference-powershell#dependency-management for more details).

Upvotes: 2

Related Questions