Lorsque vous effectuez un travail, un dossier de travail peut vous être demandé. Parfois appelé preuves ou pistes, il est important de garder une trace de ce que vous avez fait et de ce qui s'est passé. Lorsque vous travaillez avec Powershell, conservez les deux enregistrements suivants.
Un enregistrement de ce qui a été produit lors de l'exécution de la commande. Il existe plusieurs façons d'enregistrer la sortie avec Powerehll.
En plus de cela, il existe une méthode pour sélectionner la sortie du contenu à l'écran et l'enregistrer par copie, mais l'explication est omise.
Historique des commandes exécutées. Comment suivre l'exécution des commandes dans Powershell
-Copier le fichier d'historique ・ Get-History
Utilisez> (Rediriger) pour afficher le contenu exécuté tel quel en texte. Méthode orthodoxe.
[commander] > [fichier texte].txt
Spécifiez le fichier texte à générer en ajoutant> après la commande.
PS > echo "Uni" > test.txt
PS > Get-Content test.txt
Uni
Le fichier texte redirigé sera écrasé. Si vous souhaitez l'ajouter, redirigez avec >>.
PS > echo "Uni" >> test.txt
Lors de l'utilisation de la redirection, le résultat de l'exécution de la commande n'est pas affiché à l'écran. Si vous souhaitez l'afficher à l'écran, utilisez Tee-Object.
PS > echo "Uni" | Tee-Object test.txt
Uni
PS > Get-Content test.txt
Uni
Exécutez les commandes suivantes lors du démarrage et de la fin de l'enregistrement de texte.
Start-Transcript → Démarrer l'enregistrement Stop-Transcript → Fin de l'enregistrement
** Commencer l'enregistrement **
> Start-Transcript
La transcription a commencé. Fichier de sortie: [Chemin actuel]\PowerShell_transcript.HORUS.Wm+ZpDyv.[Date et l'heure].txt
L'enregistrement démarre après l'exécution de la commande.
** Fin de l'enregistrement **
> Stop-Transcript
La transcription a été arrêtée. Fichier de sortie: [Chemin actuel]\Documents\PowerShell_transcript.HORUS.Wm+ZpDyv.[Date et l'heure].txt
L'enregistrement est arrêté après l'exécution de la commande. Diverses informations sont enregistrées dans l'en-tête du fichier texte enregistré. L'en-tête du fichier de sortie est le suivant.
** Contenu de sortie **
**********************
Démarrez la transcription Windows PowerShell
Heure de début: 20200111180312
Nom d'utilisateur: [Utilisateur]
Utilisateur RunAs: [Utilisateur]
Nom de la configuration:
ordinateur: [nom d'hôte](Microsoft Windows NT 10.0.18362.)
Application hôte: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
ID de processus: 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
**********************
Des informations telles que l'heure de début, l'heure de fin et le nom d'hôte de l'enregistrement sont automatiquement saisies.
Dirigez la sortie de la commande vers Export-Csv. La sortie est enregistrée dans le fichier joint à l'option.
<commander> | Export-Csv <nom de fichier>.csv
Étant donné que la sortie de sortie à l'écran est formatée en CSV, les données qui ne sont pas affichées ne sont pas enregistrées. Le CSV de sortie peut être lu tel quel avec Excel ou autre.
Dirigez la sortie de la commande vers Export-Clixml. La sortie est enregistrée dans le fichier joint à l'option.
<commander> | Export-Clixml <nom de fichier>.xml
Importez la sortie du fichier xml à l'aide de la commande suivante.
Import-Clixml <nom de fichier>.xml
Après l'importation, vous verrez la sortie exportée. Placez la sortie dans une variable ou traitez-la via un tube pour l'utiliser.
Lorsque vous exécutez une commande dans Powershell, la commande exécutée est sortie dans un fichier texte sous forme d'historique et enregistrée. Vous pouvez vérifier l'emplacement du fichier enregistré en exécutant la commande suivante.
(Get-PSReadLineOption).HistorySavePath
En outre, il semble que vous puissiez modifier l'emplacement de sortie avec la commande suivante.
Set-PSReadLineOption -HistorySavePath [Modifier le chemin du fichier de destination]
Cependant, une fois que vous fermez l'invite, elle revient à l'emplacement par défaut.
Vous pouvez afficher l'historique d'exécution de la commande avec la commande ** Get-history **. 。
PS C:\Users\Main> Get-History
Id CommandLine
-- -----------
1 Get-History
2 Get-History
Si vous disposez de propriétés, vous pouvez également afficher l'historique d'exécution des commandes, l'heure d'exécution et les données d'heure de fin.
article | Contenu |
---|---|
ExecutionStatus | Résultat de l'exécution de la commande |
StartExecutionTime | Heure de début de l'exécution de la commande |
EndExecutionTime | Heure de fin de l'exécution de la commande |
Lorsque toutes les propriétés sont affichées avec Select-Object *, ces informations s'affichent.
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
Avec Powershell, vous pouvez combiner l'historique d'exécution des commandes et l'historique des sorties pour enregistrer de manière fiable quand et quelles données ont été acquises.
Recommended Posts