Wenn Sie arbeiten, werden Sie möglicherweise nach einer Arbeitsaufzeichnung gefragt. Manchmal als Beweise oder Spuren bezeichnet, ist es wichtig zu verfolgen, was Sie getan haben und was passiert ist. Bewahren Sie bei der Arbeit mit Powershell die folgenden zwei Aufzeichnungen auf.
Eine Aufzeichnung dessen, was ausgegeben wurde, als der Befehl ausgeführt wurde. Es gibt verschiedene Möglichkeiten, die Ausgabe mit Powerehll aufzuzeichnen.
Darüber hinaus gibt es eine Methode zum Auswählen der auf dem Bildschirm ausgegebenen Inhalte und zum Speichern durch Kopieren. Die Erklärung wird jedoch weggelassen.
Verlauf der ausgeführten Befehle. So verfolgen Sie die Befehlsausführung in Powershell
-Kopierverlaufsdatei ・ Get-History
Verwenden Sie> (Umleiten), um den ausgeführten Inhalt so wie er ist als Text auszugeben. Orthodoxe Methode.
[Befehl] > [Textdatei].txt
Geben Sie die Textdatei an, die ausgegeben werden soll, indem Sie nach dem Befehl> hinzufügen.
PS > echo "Uni" > test.txt
PS > Get-Content test.txt
Uni
Die umgeleitete Textdatei wird überschrieben. Wenn Sie es hinzufügen möchten, leiten Sie mit >> um.
PS > echo "Uni" >> test.txt
Bei Verwendung der Umleitung wird das Ergebnis der Ausführung des Befehls nicht auf dem Bildschirm angezeigt. Wenn Sie es auf dem Bildschirm anzeigen möchten, verwenden Sie Tee-Object.
PS > echo "Uni" | Tee-Object test.txt
Uni
PS > Get-Content test.txt
Uni
Führen Sie die folgenden Befehle aus, wenn Sie die Textaufzeichnung starten und beenden.
Start-Transcript → Aufnahme starten Stop-Transcript → Ende der Aufnahme
** Starte die Aufnahme **
> Start-Transcript
Das Transkript wurde gestartet. Ausgabedatei: [Aktueller Pfad]\PowerShell_transcript.HORUS.Wm+ZpDyv.[Datum (und Uhrzeit].txt
Die Aufzeichnung beginnt, nachdem der Befehl ausgeführt wurde.
** Ende der Aufnahme **
> Stop-Transcript
Das Transkript wurde gestoppt. Ausgabedatei: [Aktueller Pfad]\Documents\PowerShell_transcript.HORUS.Wm+ZpDyv.[Datum (und Uhrzeit].txt
Die Aufzeichnung wird gestoppt, nachdem der Befehl ausgeführt wurde. In der Kopfzeile der gespeicherten Textdatei werden verschiedene Informationen aufgezeichnet. Der Header der Ausgabedatei lautet wie folgt.
** Ausgabeinhalt **
**********************
Starten Sie das Windows PowerShell-Transkript
Startzeit: 20200111180312
Nutzername: [Nutzer]
RunAs-Benutzer: [Nutzer]
Konfigurationsname:
Computer: [Hostname](Microsoft Windows NT 10.0.18362.)
Host-Anwendung: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Prozess ID: 13508
PSVersion: 5.1.18362.145
PSEdition: Desktop
PSCompatibleVersions: 1.0, 2.0, 3.0, 4.0, 5.0, 5.1.18362.145
BuildVersion: 10.0.18362.145
CLRVersion: 4.0.30319.42000
WSManStackVersion: 3.0
PSRemotingProtocolVersion: 2.3
SerializationVersion: 1.1.0.1
**********************
Informationen wie Startzeit, Endzeit und Hostname der Aufzeichnung werden automatisch eingegeben.
Leiten Sie die Ausgabe des Befehls an Export-Csv weiter. Die Ausgabe wird in der an die Option angehängten Datei gespeichert.
<Befehl> | Export-Csv <Dateiname>.csv
Da die Ausgabe auf dem Bildschirm in CSV formatiert ist, werden die nicht angezeigten Daten nicht gespeichert. Die Ausgabe-CSV kann wie in Excel oder ähnlichem gelesen werden.
Leiten Sie die Ausgabe des Befehls an Export-Clixml weiter. Die Ausgabe wird in der an die Option angehängten Datei gespeichert.
<Befehl> | Export-Clixml <Dateiname>.xml
Importieren Sie die Ausgabe der XML-Datei mit dem folgenden Befehl.
Import-Clixml <Dateiname>.xml
Nach dem Import sehen Sie die exportierte Ausgabe. Fügen Sie die Ausgabe in eine Variable ein oder verarbeiten Sie sie durch eine Pipe, um sie zu verwenden.
Wenn Sie einen Befehl in Powershell ausführen, wird der ausgeführte Befehl als Verlauf in eine Textdatei ausgegeben und gespeichert. Sie können den Speicherort der gespeicherten Datei überprüfen, indem Sie den folgenden Befehl ausführen.
(Get-PSReadLineOption).HistorySavePath
Es scheint auch, dass Sie den Ausgabeort mit dem folgenden Befehl ändern können.
Set-PSReadLineOption -HistorySavePath [Ändern Sie den Zieldateipfad]
Sobald Sie die Eingabeaufforderung schließen, wird sie jedoch auf den Standardspeicherort zurückgesetzt.
Sie können den Ausführungsverlauf des Befehls mit dem Befehl ** Get-history ** anzeigen. 。
PS C:\Users\Main> Get-History
Id CommandLine
-- -----------
1 Get-History
2 Get-History
Wenn Sie über Eigenschaften verfügen, können Sie auch den Befehlsausführungsverlauf, die Ausführungszeit und die Endzeitdaten anzeigen.
Artikel | Inhalt |
---|---|
ExecutionStatus | Ergebnis der Befehlsausführung |
StartExecutionTime | Startzeit für die Befehlsausführung |
EndExecutionTime | Endzeit der Befehlsausführung |
Wenn alle Eigenschaften mit Select-Object * angezeigt werden, werden diese Informationen angezeigt.
PS C:\Users\Main> Get-History | Select-Object *
Id : 1
CommandLine : Get-History | Select-Object *
ExecutionStatus : Completed
StartExecutionTime : 2020/01/16 19:54:41
EndExecutionTime : 2020/01/16 19:54:41
Id : 2
CommandLine : Get-History | Select-Object *
ExecutionStatus : Completed
StartExecutionTime : 2020/01/16 19:54:43
EndExecutionTime : 2020/01/16 19:54:43
Mit Powershell können Sie den Befehlsausführungsverlauf und den Ausgabeverlauf kombinieren, um zuverlässig aufzuzeichnen, wann und welche Daten erfasst wurden.
Recommended Posts