Zum Inhalt
Support Info an Teams
Home » Support Informationen an Teams Kanal senden

Support Informationen an Teams Kanal senden

Für tägliche Supportarbeiten werden meisten dieselben banalen Informationen vom Benutzer benötigt, wie Username, Gerätename, Netzwerkinformationen und Gruppenmitgliedschaften. Diese Infos können dem User beispielsweise mit einem Tool angezeigt werden. Geräte bei längeren Informationen wie IP-Adressen oder Seriennummern kann es da aber zu Fehlern kommen. Darum habe ich ein Script geschrieben, dass diese Support Informationen mit einem Klick an einen definierten Teams Kanal sendet.

Table of Contents

Funktion / Demo

Hier eine simple Veranschaulichung, was das Script macht und die dazugehörige Ausgabe in Teams:

Flowwchart Device Info to Teams
Teams output

Team Kanal vorbereiten

Um die Informationen in einem Teams Kanal empfangen zu können, musst du auf diesem zuerst einen eingehenden Webhook aktivieren.

Den Webhook richtest du über die drei Punkte im Kanal unter "Connectors" ein. In diesem Menü wählst du dann beim Punkt "Incoming Webhook" zweimal "Add" aus.

Teams channel, Connectors
add Connector
add Connector

Ist der "Incoming Webhook" als Connector hinzugefügt, können wir ihn konfigurieren. Dazu gehen wir im Kanal erneut in die "Connectors". Dieses Mal sehen wir nicht mehr "Add", sondern "Configure" und können dem "Incoming Webhook" einen Namen und wenn gewünscht auch ein Anzeigebild verpassen. Das Anzeigebild wird später beim Erstellen von Unterhaltungen wie das eines Benutzers angezeigt.

Teams Connectors
Configure Webhook
Configure Webhook, Name and Image

Nach dem Klick auf "Create" erscheint die URL, welche wir später in unserem Skript benötigen.
Kopiere dir diese heraus.

Webhook Details und URL

Skript anpassen

Im Script musst du nur die URL des Webhooks ergänzen, dann ist schon alles bereit.

Webhook URL

Skript / Funktion verteilen

Theoretisch könntest du das Skript nun einfach auf einem Share Ablegen und der User kann diese dann mit einem Rechtsklick und der Option "mit PowerShell ausführen" ausführen. Das ist aber natürlich alles andere als benutzerfreundlich.

Simples Taskbar Tool

Um es ganz simpel zu verteilen, habe ich dir ein minimales "Tasktray" Tool erstellt, über welches der Benutzer die Support Informationen an den entsprechenden Teams Kanal senden kann.
Das Tool zeigt zudem auch noch den PC-Namen und die genutzte IP-Adresse an:

Tasktray Tool

Das Tool habe ich bereits als Intunewin erstellt (Du must also nur dieses herunterladen).
Die Installation Dateien findest du aber ebenfalls auf GitHub:

Das Intunewin kannst du anschliessend als Win32 App in deiner Intune Umgebung erfassen.
Dies unter: Apps > Windows apps
Hier lädst du die Intunewin-Datei hoch:

Intune, add Win32 app
Intune, upload intunewin

Anschliessend vergibst du der App einen Namen und eine aussagekräftige Beschreibung. Zudem musst du einen Herausgeber angeben.
Das Logo ist optional und wird angezeigt, wenn du die App im Unternehmensportal publizierst.

NameSupport Info
BeschreibungErmöglich es dem User Informationen über sein Gerät an den definierten Support-Teams-Kanal zu senden.

Intune, Win32 App infos

Hier musst du das Instalaltions- und Deinstallations-Kommando angeben. Dieses ist:

install command%SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden -executionpolicy bypass -command .\install.ps1
uninstall command%SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden -executionpolicy bypass -command .\uninstall.ps1
Install behaviorSystem
Intune, Win32 App installation command

Voraussetzungen gibt es für die App keine Speziellen, du musst sie aber abfüllen.
Für die Erkennungsregel habe ich dir die Datei "check.ps1" vorbereitet.

Intune, Win32 App requirements
Intune, Win32 App detection

Abhängigkeiten beziehungsweise Supersedence gibt es hier nicht.
Du musst die App nur noch einer Gruppe zuweisen und das wars dann schon.

Falls bei dir das PowerShell fenster bei Benutzer offenbleiben sollte, liegt das am Startverhalten von PowerShell, dass in den neusten Windows Versionen auf "Windows Terminal" eingestellt ist. Das müsstest du dann einfach auf "Windows Console Host" umstellen.
Hier ist beschrieben, wie: Command Prompt and Windows Powershell for Windows 11 - Microsoft Support

Einbindung SelfX

Damien Van Robaeys hat mit dem Tool SelfX ein sehr cooles Programm auf die Beine gestellt, in dem einfach eigene Script und Fehlerbehebungen für Endbenutzer bereitgestellt werden können.

Möchtest du dieses Skript einbinden, kannst du es in den Programmordner kopieren und das XML (Issues_List.xml) mit folgenden Zeilen ergänzen:

<Action> <Name>Send Device Information to Support</Name> <Explanation>Send Device Information like Device name, Username, Network and Group memberships to Support</Explanation> <script>SendToHelpdesk_Teams.ps1</script> <Category>Device</Category> <Alerte_MSG>Do you want to send your Device Information's for support purposes? </Alerte_MSG> </Action>
Codesprache: HTML, XML (xml)

Einbindung System Information and Self Service Tool

Jannik Reinhard stellt einem mit dem Tool System Information and Self Service Tool primär Informationen des Gerätes dar, bietet aber ähnlich wie SelfX auch die Möglichkeit, eigene Skripts einzubinden.

Auch hier kannst du das Skript einfach hinzufügen, indem du eine Datei (_actions.json, Zeile 11-14) ergänzt:

{ "actions": [ { "actionName": "Clear recycle bin", "script": "Invoke-ClearRecycleBin.ps1" }, { "actionName": "Change Password", "script": "Invoke-ChangePassword.ps1" }, { "actionName": "Send Device Information to Support", "script": "SendToHelpdesk_Teams.ps1" } ] }
Codesprache: JSON / JSON mit Kommentaren (json)

2 Gedanken zu „Support Informationen an Teams Kanal senden“

  1. Hi Florian,

    Great stuff, thank you 😀.

    Is it possible to include when was the last time device was in Sync with Intune, Bitlocker encryption status and space left on C disk?

    1. Thanks!

      Yes, you can add additional queries.

      The disk space would be simple with: Get-PSDrive C
      For the last sync i'd rather triger a new sync with:
      $syncIme = New-Object -ComObject Shell.Application
      $syncIme.open("intunemanagementextension://syncapp")
      $syncIme.open("intunemanagementextension://synccompliance")

      The BitLocker part is a bit mor difficult, cause you can't get the status easily without admin rights, bit this should do the trick:
      $BLStatus = (New-Object -ComObject Shell.Application).NameSpace('C:').Self.ExtendedProperty('System.Volume.BitLockerProtection')
      if($BLStatus -eq 0){$BLStatus = "Bitlocker status: Unencryptable"}
      elseif($BLStatus -eq 1){$BLStatus = "Bitlocker status: Encrypted"}
      elseif($BLStatus -eq 2){$BLStatus = "Bitlocker status: Not Encrypted"}
      else{$BLStatus = "Bitlocker status: Unknown"}
      $BLStatus

      Hope this helps you 🙂

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

de_CH DE
de_CH DE
en_US EN
Beenden Sie die mobile Version