Benutzerphasen
Erstellen Sie Benutzerphasen, um Phasen zur Verwendung bei der Bot-Erstellung anzupassen und zu speichern. Nachdem die Phasen erstellt wurden, können sie im Neurons Bots-Editor unter Phasen > Benutzer wiederverwendet werden.
So erstellen Sie eine Benutzerphase:
- Wählen Sie in Neurons Bots die Option Bot erstellen aus.
- Wählen Sie auf der Seite Bot erstellen die Option Erstellen für Zeitplan oder Benutzerdefinierte Aktion aus.
- Wählen Sie auf der Seite Editor für neue Bots die Option Benutzerphasen verwalten aus, um die Seite Benutzer-Phasenverwaltung anzuzeigen.
- Wählen Sie auf der Seite Benutzer-Phasenverwaltung die Option Erstellen aus und dann die Phase aus:
- PowerShell-Abfrage
- PowerShell-Aktion
- Bash-Aktion
- Befehlsaktion
- OSQuery
- Geben Sie auf der Seite Benutzer-Phaseneditor den Phasennamen ein. Beispiel: Datei/Ordner komprimieren.
- Geben Sie optional eine Beschreibung ein. Der beschreibende Text wird angezeigt, wenn im Bot-Editor im Bereich Phaseneinstellungen die Option "Phaseninformationen" ausgewählt wird. Beispiel: In dieser Phase werden Quelldateien von einem bestimmten Pfad zu einem Zielpfad auf die angegebene Komprimierungsstufe komprimiert.
- Geben Sie den Skriptcode ein.
Beispiel:
Compress-Archive -path C:\logs\file.txt
-destinationpath C:\logs\file.zip
-compressionlevel Optimal
Sie können dieses Skript flexibler gestalten, indem Sie einen Teil des Hardcodes durch Variablen ersetzen. Dadurch könnten Elemente bei der Nutzung der Phase individuell angepasst werden.
Beispiel:
Compress-Archive -path __Path to Source File or Folder__
-destinationpath __Destination Path__
-compressionlevel __Compression level|options:Fastest,Optimal,No Compression_
Wählen Sie STRG + Leertaste, um eine Optionsvariable oder eine Wertvariable einzufügen:
- Eine Optionsvariable wird in den Einstellungen als Auswahl-Dropdownmenü angezeigt. Die verfügbaren Optionen sind diejenigen, die Sie in das Skript eingeben. In iesem Beispiel: Compression level options Fastest, Optimal, No Compression.
- Eine Wertvariable wird in den Einstellungen als Textfeld mit der Bezeichnung angezeigt, die Sie in das Skript eingeben. In diesem Beispiel: Patch to Source File or Folder, Destination Path, and Compression level.
In diesem Beispiel würden die Phaseneinstellungen wie folgt aussehen:
- Vervollständigen Sie die Phaseneinstellungen. Die verfügbaren Einstellungen hängen vom Typ der Benutzerphase ab, die Sie erstellen:
- System
- Angemeldeter Benutzer
- PowerShell
- Core
- Auto
- Die Skriptausgabe ist JSON (Sie können das Commandlet ConvertTo-JSON verwenden).
- Sie können jedes Datenfeld in den Phaseneinstellungen als Ausgabeeintrag benennen.
- Wenn Sie als PowerShell-Typ Core auswählen, wird das PowerShell-Skript auf PowerShell Core ausgeführt. Dazu muss .Net Core 3.1 Desktop Runtime, Version 24.64.28315 oder höher, auf dem betreffenden Computer installiert sein.
- Wenn Sie als PowerShell-Typ Auto auswählen, sucht die Abfrage nach Net Core 3.1 Desktop Runtime, Version 24.64.28315 oder höher. Dies bewirkt Folgendes:
- Wenn die Runtime installiert ist, wird das Skript mit PowerShell Core ausgeführt.
- Wenn die Runtime nicht installiert ist, wird das Skript mit PowerShell ausgeführt.
- Einzeln: Wenn der Ausgabetyp als "Einzeln" angegeben ist, kann ein Objekt im JSON-Format zurückgegeben werden.
- Mehrere: Wenn der Ausgabetyp als "Mehrere" angegeben ist, müssen Sie die Daten als Objektbereich im JSON-Format zurückgeben.
[{“Beispielfeld”: “A”}, {“Beispielfeld Field”: “B”}]
Die Objekte innerhalb des Bereichs enthalten die primitiven Typen. Im Feld Ausgabe des Phaseninspktorsmüssen Sie das Feld Beispiel einbinden und Name eingeben.
$processes = Get-Process | Select-Object Name
ConvertTo-Json $processes - System
- Angemeldeter Benutzer
- PowerShell
- Core
- Auto
- System
- Angemeldeter Benutzer
- System
- Angemeldeter Benutzer
-
Scannen und Reparieren beschädigter Dateien:
-
Prüfen und Beheben des Status der physischen Festplatte:
Ausführen als:
Typ:
Ausgabe: Fügen Sie eine Ausgabe für jeden von der PowerShell-Abfrage zurückgegebenen Spaltennamen hinzu, den Sie in einer nachgeschalteten Filterergebnisphase oder als Variable in einer anderen Phase verwenden möchten.
Einzelnes Ergebnis: Ein-/Ausschalten. Verwenden Sie einzelne/mehrere Ergebnisse, um zu definieren, ob die Abfrage ein oder mehrere Ergebnisse pro Gerät zurückgibt. Dadurch wird bestimmt, ob Variablen direkt als Token-Eingaben in nachgeschalteten Phasen verfügbar sind (einzeln) oder ob sie nur für Phasen in einem Für jede/n/s-Ergebnisblock (mehrfach) verfügbar sind, um diese Phasen für jedes Ergebnis zu durchlaufen.
Verwenden Sie PowerShell zur Abfrage Ihrer Umgebung, wenn das gewünschte benutzerdefinierte Verhalten nicht über die Standard-Bot-Phasen erzielt werden kann.
Stellen Sie für eine erfolgreiche Abfrage Folgendes sicher:
Standardmäßig beträgt das Skript-Timeout 25 Minuten.
PowerShell-Typen:
Ausgabetypen:
Aktivieren Sie diese Option, wenn die Ergebnisse bei "Mehrere" angezeigt werden sollen, und deaktivieren Sie sie, wenn die Ergebnisse bei "Einzeln" angezeigt werden sollen.
$name = [System.Net.Dns]::GetHostName()
ConvertTo-Json @([customobject]@{Name = $name;})
Ausführen als:
Typ:
Beispiel für eine PowerShell-Aktion:
Die PowerShell-Aktion ähnelt der PowerShell-Abfrage, mit der Ausnahme, dass es bei der PowerShell-Aktion keine Ausgaben gibt. Weitere Informationen finden Sie unter Beispiel für eine PowerShell-Abfrage.
Ausführen als:
Beispiel für eine Bash-Aktion:
Um die Größe durch Entfernen der ersten 100 Einträge zu reduzieren, verwenden Sie den folgenden Befehl:
sed 1,100d your-filename
Ausführen als:
Beispiel für eine Befehlsaktion:
sfc /scannow
chkdsk /offlinescanandfix
Einzelnes Ergebnis: Ein-/Ausschalten. Verwenden Sie einzelne/mehrere Ergebnisse, um zu definieren, ob die Abfrage ein oder mehrere Ergebnisse pro Gerät zurückgibt. Dadurch wird bestimmt, ob Variablen direkt als Token-Eingaben in nachgeschalteten Phasen verfügbar sind (einzeln) oder ob sie nur für Phasen in einem "Für jede/n/s"-Ergebnisblock (mehrfach) verfügbar sind, um diese Phasen für jedes Ergebnis zu durchlaufen.
Spaltenzuordnung hinzufügen: Fügen Sie eine Spaltenzuordnung für jeden von der osquery-Abfrage zurückgegebenen Spaltennamen hinzu, den Sie in einer nachgeschalteten Filterergebnisphase oder als Variable in einer anderen Phase verwenden möchten.
Beispiel für eine OSQuery-Abfrage
Führen Sie folgendes Skript aus, um die am häufigsten gestarteten Anwendungen pro Gerät zu ermitteln:
select path,last_execution_time,count,
sid from userassist order by count desc
limit __Number of Apps to return|options:1,5,10__
-
Wählen Sie Anwenden und schließen aus, um die Benutzerphase zu speichern.
Wenn Sie Änderungen an einer vorhandenen Benutzerphase vorgenommen haben, wird eine neue Version erstellt. Beim Speichern wird ein Dialogfeld mit einer Warnung angezeigt. Diese weist darauf hin, dass alle Bots, die diese Benutzerphase verwenden, aktualisiert werden müssen, damit sie die neueste Version verwenden können.
Aktionen
Sie können für jede Benutzerphase die folgenden Aktionen ausführen:
- Klonen: Wählen Sie eine Benutzerphase aus und dann Aktionen > Klonen. Das Dialogfeld Phase klonen wird angezeigt. Geben Sie einen eindeutigen Namen ein und wählen Sie Klonen aus. Eine Popup-Meldung informiert Sie darüber, dass die Phasenerstellung erfolgreich war. Die geklonte Phase wird in der Liste angezeigt, sodass Sie sie auswählen und bearbeiten können.
- Löschen: Wählen Sie eine oder mehrere Benutzerphasen aus und dann Aktionen > Löschen. Das Dialogfeld Phase löschen wird angezeigt. Wählen Sie Löschen aus, um das Löschen der Phase zu bestätigen. Diese Aktion kann nicht rückgängig gemacht werden und führt dazu, dass die Phase in jedem Bot, der sie verwendet, als veraltet gilt. Veraltete Phasen werden durch einen roten Rahmen gekennzeichnet.