Das Einrichten von Telegram-Benachrichtigungen über PowerShell kann manchmal etwas knifflig sein. Wenn Nachrichten nicht gesendet werden oder Fehler auftreten, liegt das meist an kleineren Problemen wie TLS-Versionskonflikten oder falschen IDs. Diese Methode ist nützlich, wenn Sie sofortige Benachrichtigungen für Serveraktivitäten, Skriptausführungen oder geplante Aufgaben erhalten möchten – ideal, um den Überblick zu behalten, ohne ständig manuell nachsehen zu müssen. Sobald Sie es geschafft haben, verfügen Sie über eine praktische Möglichkeit, Echtzeit-Updates direkt in Ihre Telegram-Chats oder -Gruppen zu erhalten, und sie ist überraschend flexibel.
Wie man Telegram-Nachrichten von PowerShell aus sendet
Stellen Sie sicher, dass TLS 1.2 für PowerShell aktiviert ist.
Dieser Schritt ist etwas ungewöhnlich, aber notwendig, da die Telegram-API heutzutage nur noch TLS-1.2-Verbindungen akzeptiert. PowerShell verwendet auf manchen Systemen standardmäßig ältere Sicherheitsprotokolle, daher müssen Sie dies manuell umstellen. Andernfalls schlagen Ihre Anfragen möglicherweise unbemerkt fehl, und Sie wundern sich, warum keine Nachrichten angezeigt werden.
- Führen Sie diesen Befehl zu Beginn Ihres Skripts oder Ihrer Sitzung aus:
[Net. ServicePointManager]::SecurityProtocol = [Net. SecurityProtocolType]::Tls12
Dadurch wird PowerShell gezwungen, für die Dauer der Sitzung TLS 1.2 zu verwenden, was Telegram erwartet. Auf manchen Rechnern scheint dieser Befehl zunächst keine Wirkung zu haben, aber glauben Sie mir, er hilft, diese kryptischen SSL-Fehler zu vermeiden.
Erstelle deinen Telegram-Bot und finde deine Chat-/ID-Adresse.
Öffne zuerst Telegram und schreibe @BotFather. Sende dann /start, anschließend /newbot und folge den Anweisungen. Du erhältst ein Token – bewahre dieses sicher auf, denn es ist quasi das Passwort für deinen Bot.
Zum Senden von Nachrichten benötigen Sie die Chat-ID, die häufig eine Zahl ist. Um sie zu finden, starten Sie einen Chat mit Ihrem Bot und senden Sie den Befehl `/start`.Führen Sie anschließend folgenden Befehl in PowerShell aus:
Invoke-RestMethod -Uri "https://api.telegram.org/bot/getUpdates"
Suchen Sie in der JSON-Ausgabe nach „chat > id“. Das ist Ihre Chat-ID. Bei Einzelnachrichten könnte sie beispielsweise so aussehen: 987654321. Bei Gruppen sehen Sie eine ähnliche Nummer; stellen Sie aber sicher, dass Ihr Bot dort die Berechtigung zum Posten hat.
Alternativ können Sie Ihre Benutzer-ID schnell abrufen, indem Sie einen Bot wie @userinfobot hinzufügen und auf „Start“ klicken. Normalerweise wird Ihnen Ihre ID sofort angezeigt.
Testen des Sendens einer einfachen Nachricht
Verwenden Sie dieses Basisskript und ersetzen Sie < und < durch Ihre tatsächlichen Daten:
$tg_token = "your-bot-token-here" $tg_chat_id = "your-chat-id-here" $Message = "Test message from PowerShell" $Response = Invoke-RestMethod -Uri "https://api.telegram.org/bot$($tg_token)/sendMessage?chat_id=$($tg_chat_id)&text=$($Message)"
Wenn alles korrekt eingestellt ist, sollte die Nachricht in Telegram angezeigt werden. Falls nicht, überprüfen Sie bitte Ihr Token, Ihre Chat-ID und Ihre Netzwerkverbindung. Manchmal blockieren Proxy-Einstellungen oder Firewalls diese Anfragen – behalten Sie dies also im Hinterkopf.
Nachrichten mit Emojis und HTML formatieren
Möchten Sie es etwas aufpeppen? Sie können Emojis, Fettdruck, Kursivschrift oder sogar Zeilenumbrüche mithilfe von HTML-Formatierung einfügen. Fügen Sie die gewünschten Elemente einfach &parse_mode=htmlIhrer Anfrage hinzu. Zum Beispiel:
$Message = "⚠️ Alert: Script finished with errors!" $Response = Invoke-RestMethod -Uri "https://api.telegram.org/bot$($tg_token)/sendMessage?chat_id=$($tg_chat_id)&text=$($Message)&parse_mode=html"
Es erfordert etwas Ausprobieren, bis die Nachricht richtig aussieht, aber wenn es einmal funktioniert, werden Ihre Benachrichtigungen viel auffälliger sein.
Umgang mit Proxy-Einstellungen
Wenn Ihre Internetverbindung über einen Proxy läuft (wie in den meisten Unternehmensnetzwerken), müssen Sie PowerShell anweisen, diesen zu verwenden. Hier wird es etwas knifflig.
$proxy = "http://192.168.13.155:3128" $Response = Invoke-RestMethod -Uri "https://api.telegram.org/bot$($tg_token)/sendMessage?chat_id=$($tg_chat_id)&text=$($Message)" -Proxy $proxy
Wenn Sie PowerShell Core 7.x+ verwenden und der Proxy auf Systemebene konfiguriert ist, wird er möglicherweise automatisch erkannt. Um Probleme zu vermeiden, empfiehlt es sich jedoch, ihn explizit anzugeben.
Automatisierung mit Funktionen und Profileinrichtung
Sobald die Grundlagen funktionieren, ist die Erstellung einer wiederverwendbaren Funktion der nächste logische Schritt. Hier ist eine einfache Funktion, die Sie Ihrem PowerShell-Profil hinzufügen können (manchmal in $PROFILE ):
function Send-Telegram { param([string]$Message) $tg_token = "your-bot-token" $tg_chat_id = "your-chat-id" [Net. ServicePointManager]::SecurityProtocol = [Net. SecurityProtocolType]::Tls12 Invoke-RestMethod -Uri "https://api.telegram.org/bot$($tg_token)/sendMessage?chat_id=$($tg_chat_id)&text=$($Message)&parse_mode=html" }
Speichern Sie es in Ihrem Profilskript mit Notepad unter dem Namen $PROFILE. Dann kann jedes Skript es einfach aufrufen Send-Telegram "My message"und schon wird die Benachrichtigung zugestellt.
Manchmal schlägt die Anfrage bei bestimmten Konfigurationen beim ersten Mal fehl, oder Sie müssen PowerShell neu starten, damit die Funktion korrekt geladen wird – das ist normal. Testen und optimieren Sie einfach weiter.
Zusammenfassung
- Stellen Sie sicher, dass TLS 1.2 in PowerShell aktiviert ist.
- Erstelle einen Telegram-Bot und erhalte deine Benutzer- oder Gruppen-ID.
- Testen Sie das Senden von Nachrichten mit einem einfachen Skript.
- Verwenden Sie HTML und Emojis, um Benachrichtigungen hervorzuheben.
- Konfigurieren Sie bei Bedarf die Proxy-Einstellungen.
- Wandeln Sie den Code in eine wiederverwendbare Funktion um und fügen Sie sie Ihrem Profil hinzu, um leicht darauf zugreifen zu können.
Zusammenfassung
Die Einrichtung von Telegram-Benachrichtigungen ist nicht sonderlich kompliziert, aber die kleinen Konfigurationsschritte können manchen Schwierigkeiten bereiten. Ist alles eingerichtet, ist es überraschend praktisch, um Skripte oder die Infrastruktur im Blick zu behalten, ohne ständig die Protokolle überprüfen zu müssen. Denken Sie daran, Ihr Token sicher aufzubewahren und jeden Schritt zwischendurch zu testen. Hoffentlich spart Ihnen das ein paar Stunden oder erspart Ihnen Frust – es funktioniert für verschiedene Setups, also Daumen drücken!