Exchange Server und OpenAI GPT-3?

Die KI von OpenAI ist ja aktuell in aller Munde und täglich finden sich in den Medien neue Artikel zu GPT3 oder GPT-4 mit Tests wie gut oder schlecht etwas funktioniert. Es werden Rufe nach Regulierung von KI Systemen laut und manche sehen auch schon die große Massenarbeitslosigkeit auf uns zukommen. Ob dies alles so eintritt und eine KI bald die Weltherrschaft übernimmt, kann ich als Exchange Admin nicht vorhersagen. Aber mit GPT-3 rumspielen will ich natürlich auch…

Natürlich habe ich auch den GPT-3 Chat ausprobiert und über die teils sehr guten Ergebnisse gestaunt, viel interessanter fand ich aber schnell die OpenAI API. Es gibt sogar schon ein PowerShell Modul, mit dem sich die OpenAI API sehr einfach ansprechen lässt. Das PowerShell Modul lässt sich mit dem folgenden Befehl installieren:

Install-Module PowerShellAI
Exchange Server und OpenAI GPT-3?

Jetzt wird nur noch ein API Key benötigt, welcher hier erstellt werden kann. Der API Key lässt sich dann in einer Umgebungsvariable speichern und kann somit mit dem PowerShell Modul genutzt werden:

$env:OpenAIKey = "APIKEY"
Exchange Server und OpenAI GPT-3?

Das erste Szenario, was mir eingefallen ist, war die KI mit den Fehlern aus dem Eventlog zu füttern und eine Lösung vorschlagen zu lassen. Ich hab daher schnell ein kleines Script erstellt:

#OpenAI API Key:
$env:OpenAIKey = "APITOKEN"

$EventLog = Get-EventLog -LogName Application -EntryType Error -After (get-date).AddDays(-1)
$EventLogGroups = $EventLog | group eventid

foreach ($EventLogGroup in $EventLogGroups) {
	$Event = $EventLogGroup.Group | select -Unique
	$EventID = $Event.EventID
	$Message = $Event.Message
	$GPT3Answer = Get-GPT3Completion "What could be the solution for this error: $Message"

	write-host "EventID: $EventID" -ForegroundColor red
	write-host "Message:" -ForegroundColor red
	write-host "$Message"
	write-host "Proposed solution by GPT-3:" -ForegroundColor green
	write-host "$GPT3Answer"
}

Auf meinem Test Exchange Server gibt es leider wenige „echte“ Fehler, die meisten Fehler treten während des Starts oder Runterfahren des Servers auf. So schlecht sind die Antworten allerdings nicht:

Exchange Server und OpenAI GPT-3?

Ich habe dann OpenAI mit ein paar Fehlern eines produktiven Exchange Servers gefüttert, da waren die Ergebnisse erstaunlich gut. Bei zwei Fehlern passte sogar der von GPT-3 als Lösungsvorschlag vorgeschlagene Registry Schlüssel. Hier lohnt es sich also etwas weiter zu testen.

Übrigens kann GPT-3 auch recht brauchbare PowerShell Scripte für die Administration erstellen. Hier mal ein Beispiel:

$Script = Get-GPT3Completion "Create a PowerShell Script to list all Exchange Server Mailbox sizes"

Das ist dabei rausgekommen:

Exchange Server und OpenAI GPT-3?

Es gibt einen kleinen Fehler: Die Zeile „Import-Module Exchange“ funktioniert so nicht, da es sich bei den Exchange CMDLets nicht um ein PowerShell Modul, sondern um ein SnapIn handelt. In der Exchange Management Shell selbst funktioniert das Script, da die die CMDLets zur Verfügung stehen und nicht extra geladen werden müssen.

An sich funktioniert das Script, wie man sehen kann wird die Größe des Administrator Postfachs angezeigt. Wenn man ein bisschen Fehlerbehandlung hinzufügt, ist das Script schon fertig.

Die Anweisungen funktionieren auch gut in der deutschen Sprache:

Exchange Server und OpenAI GPT-3?

Das Rumspielen mit der OpenAI API macht wirklich Spaß, man findet sehr schnell immer neue Anwendungsfälle:

Exchange Server und OpenAI GPT-3?

Viele Ergebnisse sind schon erstaunlich gut, aber aktuell muss man als Exchange Admin wohl noch keine Angst haben arbeitslos zu werden :-)

Da die Einstiegshürde mit der OpenAI API aber sehr niedrig ist, lohnt es sich damit ein bisschen zu experimentieren. Mir macht das aktuell ziemlich viel Spaß :-)

8 Gedanken zu „Exchange Server und OpenAI GPT-3?“

  1. Ich habe ChatGPT auch schon hinsichtlich meiner offenen Fragen bei Windows Server 2019 zur Änderung der lokalen Absenderdomäne im Email-Header gefragt, woraufhin es mir die Änderung der Namensschemaerweiterung mit der Active Directory-Domänen- und -Vertrauensstellungsverwaltung vorschlug. Leider gibt es beim Windows Server jedoch diese Möglichkeit nicht mehr, woraufhin sich ChatGPT mit folgender interessanten Aussage korrigierte.

    „Entschuldigung für das Missverständnis. Sie haben recht, unter Windows Server 2019 gibt es keine direkte Option zum Bearbeiten der Namensschemainerweiterungen über die Active Directory-Domänen- und -Vertrauensstellungsverwaltung.
    Die Namensschemainerweiterungen werden automatisch von den installierten Active Directory-Domänendiensten verwaltet und sind normalerweise nicht für manuelle Änderungen vorgesehen.“

    Ich finde die Präzision der Aussagen dennoch erstaunlich, handelt es sich doch um ein Fachthema, das zwar aus der IT kommt, aber dennoch ausreichend spezifisch ist, um weniger darüber zu wissen.

    Antworten
  2. Hallo Frank,

    ich erhalte leider den Fehler „invalid_api_key“.

    PS C:\scripts> $Script = Get-GPT3Completion „Erzeuge ein PowerShell Script für das Exchange Server Message Tracking Log. Das Script soll die letzten 10 Mails zeigen.“
    {
    „error“: {
    „message“: „“,
    „type“: „invalid_request_error“,
    „param“: null,
    „code“: „invalid_api_key“
    }
    }
    + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
    + PSComputerName : localhost

    Hast Du zufällig eine Idee, an was es liegen könnte?

    Beste Grüße
    Sebastian

    Antworten

Schreibe einen Kommentar