PS: Tag dine MS Teams meddelelser til nye højder ved brug af PSTeams

Ron Brevstgaard
Ron Brevstgaard

PSTeams er et PowerShell-modul, der fungerer på Windows/Linux og Mac og muliggør at sende meddelelser i Teams ved brug af indgående webhook -forbindelsen som først skal aktiveres for det pågældende team hvori du ønsker at sprede lidt "pro-magi". PSTeams understøtter Adaptive Cards, Hero Cards, List Cards, and Thumbnail Cards og derfor er dette PS-modul langt sjovere at give sig i kast med, end de andre som er at finde i PowerShell Gallery.


01. 🎭 Lad os så komme i gang... med "grundarbejdet".

01. Lad os starte ud med at tilgå dette link: https://www.powershellgallery.com/packages/PSTeams/

02. Kopiér nu Install-Module -Name PSTeams og indsæt i PS efterfulgt af enter-tasten.

03. Indtast nu et y og klik enter igen, shocker ;-).

04. Lad os nu lave et test-team at lege rundt med.

05. Lad os få oprettet en indgående webhook forbindelse. Gå ind under de tre dots oppe til højre -> Vælg her Forbindelser -> Søg efter webhooks -> Vælg Indgående webhook.

06. Klik nu på Tilføj for at tilføje webhook modulet til det valgte team.

07. Klik nu på de tre dots igen -> Forbindelser -> Konfigurer.

08. Giv nu den indgående webhook et navn/alias. Bemærk at dette navn vil være publiceringsforfatteren for indhold der publiceres via denne webhook. I mit tilfælde har jeg bare kaldt den PS. Klik nu Opret og kopier URL-adressen efterfulgt at Udført.

09. URL-adressen kan du med fordel notere i f.eks. en notepad-fil da vi skal bruge den om lidt. Indtast den således:

$TeamsID = 'https://hhfvuc.webhook.office.com/webhookb2/3c1ae841-e517-40e4-b88e-2d505d0b1152@f42444ce-a73c-4c1c-b45f-02113196711a/IncomingWebhook/2af5dcf4f3bf4bcfad88d78dba217xx9/bcb6fc6f-3dd4-4ck3-ba96-48c1uucfd8c3'
Dvs. $TeamsID = 'Indsæt URLen her'

Sådan. Nu fik vi styr på vores webhook forbindelse og kan begynde med det lidt sjovere!


02. ⚡️ Lad os så få begyndt at skabe nogle fede meddelelser.

01. Lad os starte PowerShell ISE op.

*Husk at du med fordel kan starte den som administrator hvilket jeg normalvis ville gøre men så virker min GIF-optager ikke.

02. Indsæt nu denne test-kodestump herunder: *Bemærk at dette eksempel kan du finde på 2 sek. ved brug af Google.

Clear-Host
Import-Module PSTeams
$TeamsID = 'https://hhfvuc.webhook.office.com/webhookb2/c34ab663-8408-4a26-930f-b42cc7bf09da@f42444ce-a73c-4c1c-b45f-02113196711a/IncomingWebhook/ed47cc0776304f5da7752fdeda7c686e/bcb5fc6f-3dd4-4cb3-ba96-48c1ffcfd8c3'
$Color = 'Chocolate'
$Button1 = New-TeamsButton -Name 'Besøg brevstgaard.blog' -Link "https://brevstgaard.blog"
$Button2 = New-TeamsButton -Name 'Besøg endnu engang brevstgaard.blog' -Link "https://brevstgaard.blog"
$Fact1 = New-TeamsFact -Name 'Bold' -Value '**Special Bold value**'
$Fact2 = New-TeamsFact -Name 'Italic and Bold' -Value '***Italic and Bold value***'
$Fact3 = New-TeamsFact -Name 'Italic' -Value 'Date with italic *2010-10-10*'
$Fact4 = New-TeamsFact -Name 'Link example' -Value "[Microsoft](https://www.microsoft.com)"
$Fact5 = New-TeamsFact -Name 'Other link example' -Value "[Brevst](https://brevstgaard.blog) og noget **bold** tekst"
$Fact6 = New-TeamsFact -Name 'Sådan ser det altså ud' -Value "
* hello
    * 2010-10-10
* test
    * another
* test
* hello"
$Fact7 = New-TeamsFact -Name 'Dette er et gennemtrængende linje eksempel' -Value "<strike> Streg gennem tekst </strike>"
$Fact8 = New-TeamsFact -Name 'Listeeksempel med indlejret liste' -Value "
- One value
- Another value
    - Third value
        - Fourth value
"
$Fact9 = New-TeamsFact -Name 'List example with a twist' -Value "
1. First ordered list item
2. Another item
* Unordered sub-list.
1. Actual numbers don't matter, just that it's a number
    1. Ordered sub-list
    2. Another entry
4. And another item.
"
$Fact10 = New-TeamsFact -Name 'Code highlight' -Value "This is ``showing code highlight`` "
$Fact11 = New-TeamsFact -Name '' -Value "
### As you see I've not added Name at all for this one and it merges a bit with Fact 10
This is going to add horizontal line below. While this line is highlighed.
---
And a block quote
> Block quote
# H1
## H2
### H3
#### H4
##### H5
###### H6
"
$Section1 = New-TeamsSection `
    -ActivityTitle "**RONpsTEST**" `
    -ActivitySubtitle "@ron - 9/12/2016 at 5:33pm" `
    -ActivityImageLink "https://pbs.twimg.com/profile_images/1017741651584970753/hGsbJo-o_400x400.jpg" `
    -ActivityText "Climate change explained in comic book form by xkcd xkcd.com/1732" `
    -Buttons $Button1, $Button2 `
    -ActivityDetails $Fact1, $Fact2
$Section2 = New-TeamsSection `
    -ActivityTitle "**Ron Brevstgaard**" `
    -ActivitySubtitle "@ron - 9/12/2016 at 5:33pm" `
    -ActivityImageLink "https://pbs.twimg.com/profile_images/1017741651584970753/hGsbJo-o_400x400.jpg" `
    -ActivityText "Climate change explained in comic book form by xkcd xkcd.com/1732" `
    -Buttons $Button1 `
    -ActivityDetails $Fact3, $Fact4, $Fact5, $Fact6, $Fact7, $Fact8, $Fact9, $Fact10, $Fact11
$Section3 = New-TeamsSection `
    -ActivityTitle "**Ron Brevstgaard**" `
    -ActivitySubtitle "@ron - 9/12/2016 at 5:33pm" `
    -ActivityImage Add `
    -ActivityText "Climate change explained in comic book form by xkcd xkcd.com/1732" `
    -Buttons $Button1 `
    -ActivityDetails $Fact3, $Fact4, $Fact5, $Fact6, $Fact7, $Fact8, $Fact9, $Fact10, $Fact11
Send-TeamsMessage `
    -URI $TeamsID `
    -MessageTitle 'Message Title' `
    -MessageText 'This is text' `
    -Color Chocolate `
    -Sections $Section2, $Section1 
Send-TeamsMessage `
    -URI $TeamsID `
    -MessageTitle 'Message Title' `
    -MessageText 'This is text' `
    -Color Chocolate `
    -Sections $Section3

03. Afprøv nu. Det gør du ved at klikke på det grønne "Play"-ikon og tjek derefter det oprettede test-team. *Hvis du får fejl... så sikre dig, at du har udskiftet $TeamsID med dit eget.

04. Nu fik vi altså dette ind i vores test-team: *Dvs. at vores opsætning var korrekt, pyha.


🌩️ Lad os så prøve med forskellige kodestumper fra Google som er tilpasset lidt:


Pestertest

Kodestump:

Clear-Host
Import-Module PSTeams
$TeamsID = 'https://hhfvuc.webhook.office.com/webhookb2/c34ab663-8408-4a26-930f-b42cc7bf09da@f42444ce-a73c-4c1c-b45f-02113196711a/IncomingWebhook/ed47cc0666304f5da7752fdeda7c326e/bcb5fc6f-3dd4-4cb3-ba96-48c1kkcfd8c3'
$Button1 = New-TeamsButton -Name 'Besøg brevstgaard.blog' -Link "https://brevstgaard.blog"
$Fact1 = New-TeamsFact -Name 'PS Version' -Value "**$($PSVersionTable.PSVersion)**"
$Fact2 = New-TeamsFact -Name 'PS Edition' -Value "**$($PSVersionTable.PSEdition)**"
$Fact3 = New-TeamsFact -Name 'OS' -Value "**$($PSVersionTable.OS)**"
$CurrentDate = Get-Date
$Section = New-TeamsSection `
    -ActivityTitle "**PSTeams**" `
    -ActivitySubtitle "@PSTeams - $CurrentDate" `
    -ActivityImage Add `
    -ActivityText "This message proves PSTeams Pester test passed properly." `
    -Buttons $Button1 `
    -ActivityDetails $Fact1, $Fact2, $Fact3
Send-TeamsMessage `
    -URI $TeamsID `
    -MessageTitle 'PSTeams - Pester Test' `
    -MessageText "This text won't show up" `
    -Color DodgerBlue `
    -Sections $Section

Vil give os dette resultatet i vores test-team:


Simpel stylet meddelelse

Kodestump:

Clear-Host
Import-Module PSTeams
$TeamsID = 'https://hhfvuc.webhook.office.com/webhookb2/c34ab663-8408-4a26-930f-b42cc7bf09da@f42444ce-a73c-4c1c-b45f-02113196711a/IncomingWebhook/ed47cc0226304f5da7752fdeda7c416e/bcb5fc6f-3dd4-4cb3-ba96-48c1kkcfd8c3'
Send-TeamsMessage -URI $TeamsID -MessageTitle 'Ron Brevstgaards Titel' -MessageText "Og her er så min besked" -Color DodgerBlue
Du skal selvfølgelig udskifte TeamsIDét med dit eget men ellers skal du blot udskifte titel og brødteksten.

Vil give os dette resultatet i vores test-team:


Sending Messages to Microsoft Teams from PowerShell just got easier and better - Evotec
Christmas time is upon us, and I’ve decided that my PSTeams module needs some love. I wrote it in late 2018 and updated it a few times at the beginning of 2019. This release hopefully is worth of having 1.0 version number. I don’t do that often and usually go for build numbers changes only, but Micr…
PowerShell/wtOffice 365

Ron Brevstgaard

IT-Supporter, Herning HF & VUC. + Tidligere Linux Sysadmin / Systemadministrator (5 års erfaring). +7 års erfaring med SEO og link building +10 års erfaring med udvikling af hjemmesider og webshops.


  1. Minimal og anonym sporing af brugeradfærd.
  2. Eneste brug af cookies er _cfduid og _cflb - WAF og Load Balancing.
  3. Ingen deling af data med f.eks. Google.
  4. Databehandlingsaftale lavet med Cloudflare.
  5. Databehandlingsaftale lavet med DigitalOcean(DO).
  6. Kontaktformular er tilknyttet ProtonMail.
  7. Automatisk sletning af mails efter 30 dage.
  8. Filer modtaget opbevares med AES256 i CFB-mode.
  1. Ansible Advanced - Hands-On - DevOps.
  2. Google IT Support Professional Certificate.
  3. The Complete Node.js Developer Course (3rd Edition).
  4. Certified Microsoft Innovative Educator (MIE).
  5. Hootsuite Social Marketing Certification.
  6. Google Fundamentals of Digital Marketing 2019.
  7. Google Analytics for Power Users.
  8. Google Shopping ads Certification.
  9. Google Ads Search Certification.
  10. Google Analytics for Power Users.
  11. Aruba Certified Network Security Associate (ACNSA).
  12. *For datoer mv. - Se LinkedIn.
  1. Introduktion til PowerShell (Teknologisk Institut).