Astuces Microsoft Powershell
Obtenir la version de PowerShell
> $PSVersionTable.PSVersion Major Minor Build Revision _____ _____ _____ ________ 5 1 17763 592
Obtenir tous les alias possibles pour une cmdlet
On peut lister l’ensemble des alias d’une cmdlet avec la commande :
Get-Alias -Definition <nom-cmdlet>
> Get-Alias -Definition Get-Content
CommandType Name Version Source
----------- ---- ------- ------
Alias cat -> Get-Content
Alias gc -> Get-Content
Alias type -> Get-Content
Le nom de la cmdlet dont on veut lister tous les alias doit être fournie dans sa version non-abrégée sous peine d’obtenir une erreur Exemple pour la cmdlet
Get_Content dont un des alias est gc
|
Obtenir l’ensemble des membres d’une cmdlet
Lorsqu’on exécute une cmdlet, le résultat de celle-ci — lorsqu’il n’est pas redirigé dans le pipeline — consiste en un certain nombre de propriétés dont les valeurs sont affichées à l’écran soit sous forme de table soit sous forme de liste.
Or, ces propriétés ne sont parfois qu’un sous-ensemble de celles disponibles.
Pour obtenir, l’ensemble des propriétés — mais aussi des méthodes — disponibles dans l’objet retourné par une cmdlet, on peut le rediriger vers la cmdlet Get-Member
.
> Get-Disk (1)
Number Friendly Name Serial Number HealthStatus OperationalStatus Total Size Partition
Style
------ ------------- ------------- ------------ ----------------- ---------- ----------
0 Samsung SSD … 0025_3856_1190_05FE. Healthy Online 465.76 GB GPT
> Get-Disk | Get-Member (2)
TypeName: Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_Disk
Name MemberType Definition
---- ---------- ----------
DiskNumber AliasProperty DiskNumber = Number
Dispose Method void Dispose(), void IDisposable.Dispose()
[...]
AdapterSerialNumber Property string AdapterSerialNumber {get;}
AllocatedSize Property ulong AllocatedSize {get;}
BootFromDisk Property bool BootFromDisk {get;}
FirmwareVersion Property string FirmwareVersion {get;}
FriendlyName Property string FriendlyName {get;}
Guid Property string Guid {get;}
IsBoot Property bool IsBoot {get;}
IsClustered Property bool IsClustered {get;}
IsHighlyAvailable Property bool IsHighlyAvailable {get;}
IsOffline Property bool IsOffline {get;}
IsReadOnly Property bool IsReadOnly {get;}
IsScaleOut Property bool IsScaleOut {get;}
IsSystem Property bool IsSystem {get;}
LargestFreeExtent Property ulong LargestFreeExtent {get;}
Location Property string Location {get;}
[...]
1 | utilisée seule, la cmdlet Get-Disk affiche par défaut uniquement 7 propriétés |
2 | l’appel à Get-Member montre clairement que bien plus de propriétés sont en fait présents dans l’objet résultat de la cmdlet Get-Disk |
Outre le fait d’afficher l’ensemble des propriétés et méthodes de l’objet retourné par une cmdlet, On peut alors obtenir l’ensemble des cmdlets acceptant ce type d’objet en entrée grâce à la cmdlet Exemple
|
Personnaliser l’invite de commande
-
Ouvrir le fichier de profil dont le chemin est indiqué dans la variable d’environnement
$PROFILE
(→echo $PROFILE
).Exemple> echo $PROFILE C:\Users\claud\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
-
Si ce fichier n’existe pas, le créer avec la commande :
New-Item -ItemType File -Path $PROFILE -Force
-
Créer/Modifier la fonction function
global.prompt { … }
oufunction prompt { … }
pour y saisir les commandes de personnalisation de l’invite de commandes.
🕮 Sources :
🞄 🞄 🞄