[LINUX] Comment suivre le travail avec Powershell

Que conserver comme dossier de travail

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.

Enregistrer la sortie de la commande

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

Historique des commandes exécutées. Comment suivre l'exécution des commandes dans Powershell

-Copier le fichier d'historique ・ Get-History

Comment enregistrer la sortie de commande

Enregistrer la sortie de la commande sous forme de texte avec redirection

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

Enregistrez la sortie du contenu à l'écran dans un fichier

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.

Enregistrer le résultat de l'exécution de la commande dans un fichier CSV

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.

Enregistrez le résultat de l'exécution de la commande dans un fichier xml

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.

Enregistrer l'historique d'exécution des commandes

Fichier dans lequel l'historique des exécutions est enregistré

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.

Afficher l'historique avec la commande

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

Comment suivre le travail avec Powershell
Comment utiliser BigQuery en Python
Résumé de la façon d'importer des fichiers dans Python 3
Résumé de l'utilisation de MNIST avec Python
Comment obtenir le nombre de chiffres en Python
Comment afficher plusieurs images d'une galaxie en tuiles
[Efficacité du travail] Comment changer les noms de fichiers par lots avec Python
Comment développer en Python
Comment garder le conda éteint
Comment trouver le nombre optimal de clusters pour les k-moyennes
Comment se débarrasser des pictogrammes personnalisés du serveur dans message.content
Comment développer dans un environnement virtuel Python [Memo]
Comparaison de l'utilisation des fonctions d'ordre supérieur dans Python 2 et 3
Comment obtenir une liste d'exceptions intégrées pour python
Résumé de l'écriture des fichiers .proto utilisés dans gRPC
Comment obtenir un aperçu de vos données dans Pandas
Le traitement parallèle de Python joblib ne fonctionne pas dans l'environnement uWSGI. Comment traiter en parallèle sur uWSGI?
La ventilation est importante. Ce que j'ai fait pour garder une trace de la concentration de C02 dans la pièce
[Python] Comment faire PCA avec Python
Résumé de l'utilisation de pandas.DataFrame.loc
Comment utiliser les classes dans Theano
Comment écrire sobrement avec des pandas
Comment collecter des images en Python
Comment mettre à jour Spyder dans Anaconda
Comment utiliser SQLite en Python
Pour utiliser virtualenv avec PowerShell
Résumé de l'utilisation de pyenv-virtualenv
Comment convertir 0,5 en 1056964608 en un seul coup
Comment refléter CSS dans Django
Comment tuer des processus en vrac
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
Comment utiliser PubChem avec Python
Comment exécuter du code TensorFlow 1.0 en 2.0
Résumé de l'utilisation de csvkit
Comment gérer le japonais avec Python
Comment se connecter à Docker + NGINX
Comment appeler PyTorch dans Julia
Comment afficher une colonne de fichiers spécifiée sous Linux (awk)
Comment déterminer l'existence d'un élément sélénium en Python
Comment implémenter du code Java en arrière-plan de Red Hat (Linux ONE)
Comment connaître la structure interne d'un objet en Python
Comment changer la couleur du seul bouton pressé avec Tkinter
Comment vérifier la taille de la mémoire d'une variable en Python
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
[TensorFlow 2] Comment vérifier le contenu de Tensor en mode graphique
Comment obtenir les coordonnées de sommet d'une entité dans ArcPy
Comment utiliser l'apprentissage automatique pour le travail? 01_ Comprendre l'objectif de l'apprentissage automatique
Comment créer une grande quantité de données de test dans MySQL? ??
Comment utiliser les colonnes calculées dans CASTable
Comment résoudre l'erreur "Aucun noyau de grammaire Python trouvé" dans Atom
[Python] Résumé de l'utilisation des pandas
[Introduction à Python] Comment utiliser la classe en Python?
Comment supprimer l'erreur d'affichage dans matplotlib
Introduction à l'apprentissage automatique: fonctionnement du modèle
Comment accélérer la belle instanciation de soupe
Comment changer plusieurs colonnes de csv dans Pandas (Unixtime-> Japan Time)