Cmdlet Test-Path de PowerShell
S’il y a un problème pour trouver un fichier, ou pour vérifier un objet conteneur, alors faites appel à Test-Path de PowerShell ; il répondra par un ‘Vrai ou Faux’.
- Exemple classique : PowerShell vérifie si un fichier existe
- PowerShell Test-Path -IsValid
- PowerShell Test-Path -Exclude
- Un exemple de Test-Path pour vous faire réfléchir
- Test-Path -PathType
Exemple classique : PowerShell vérifie si un fichier existe
Démarrez avec un script simple pour vérifier l’existence de votre fichier.
# PowerShell Check If File Exists$WantFile = "C:\Windows\explorer.exe"Test-Path $WantFile
Note 1 : Le seul résultat que PowerShell peut retourner est un true ou un false. Cependant, Test-Path réclame une instruction ‘if’ pour agir sur la sortie, donc :-
Note 2 : Comme pour tous ces scripts, veuillez modifier mes exemples pour les adapter à votre environnement.
Guy Recommande : SolarWinds Wake-On-LAN Utility (OUTIL GRATUIT)
Encourager les ordinateurs à dormir lorsqu’ils ne sont pas utilisés est une excellente idée – jusqu’à ce que vous soyez loin de votre bureau et que vous ayez besoin d’un fichier sur cette machine endormie distante !
WOL a également des utilisations professionnelles, par exemple, réveiller les machines pour qu’elles puissent avoir des correctifs de mise à jour appliqués. Ma véritable raison de vous recommander de télécharger cet outil gratuit est que c’est tellement amusant d’envoyer ces » paquets magiques « . Essayez WOL – c’est gratuit.
SolarWinds Wake-On-LAN Télécharger l’outil 100% GRATUIT
Test-Path Environmental Variables
En plus des emplacements de fichiers physiques, vous pouvez également employer Test-Path pour interroger le registre ou comme ici, les variables d’environnement.
# PowerShell Test-Path for Environmental VariablesTest-Path env:\PathExt
Défi : lesquelles de ces variables sont réellement des variables d’environnement ?
Public, Private, Temp, Tump et Tmp
PowerShell Test-Path -IsValid
L’une des tâches sous-estimées de Test-Path est de valider que la partie chemin d’un script existe réellement.
PowerShell Test-Path -Exclude
Voici un problème concret, je voulais voir s’il y avait des fichiers qui ne sont pas des .gif, pnp, bmp ou .jpg, qui se sont mélangés à ma collection de photos. Hypothèse : les fichiers qui m’intéressent (nous intéressent) sont stockés dans H:\Sports\fun_pictures\
Note 3 : Vous devrez modifier radicalement le fichier ci-dessus si vous voulez qu’il fonctionne sur votre ordinateur. Changez les valeurs de $ImageFiles et modifiez également les extensions de fichiers -exclude. Voir plus sur PowerShell Else.
Guy Recommande : SolarWinds Engineer’s Toolset (ESSAI GRATUIT)
Ce Engineer’s Toolset fournit une console complète de 50 utilitaires pour le dépannage des problèmes informatiques. Guy dit que cela m’aide à surveiller ce qui se passe sur le réseau, et que chaque outil m’en apprend davantage sur le fonctionnement du système sous-jacent.
Il y a tellement de bons gadgets ; c’est comme avoir carte blanche dans un magasin de bonbons. Heureusement, les utilitaires sont affichés de manière logique : surveillance, découverte du réseau, diagnostic et outils Cisco. Essayez dès maintenant le SolarWinds Engineer’s Toolset dans le cadre d’un essai gratuit de 14 jours !
SolarWinds Engineer’s Toolset Télécharger Essai GRATUIT de 14 jours
Un exemple de chemin de test pour vous faire réfléchir
Note 4 : J’ai créé ce script délibérément. Il n’a aucun sens en termes pratiques. Veuillez ajuster la valeur de Exclude *.* à *.exe ou *.dll. Comme vous pouvez le voir, les caractères génériques sont autorisés dans le chemin d’accès et dans les extensions.
Note 5 : Ici, j’ai explicitement utilisé le paramètre -Path, cependant, toute valeur après Test-Path est supposée être l’emplacement, donc -Path est facultatif.
Note 6 : Je trouve souvent que l’expérimentation de Get-ChildItem aux côtés de Test-Path révèle les forces et les faiblesses de ces deux cmdlets.
Recherche du cmdlet PowerShell Test-Path
# Find out more about PowerShell Test-Path cmdletClear-HostGet-Help Test-Path -full
Note 7 : En interrogeant Test-Path avec Get-Help, nous pouvons dénicher des paramètres utiles tels que -IsValid pour vérifier le chemin. Il y a aussi -Include et -exclude, qui affinent le contenu de votre recherche. C’est grâce à Get-Help que j’ai découvert -PathType.
Test-Path -PathType
Le principal objectif du paramètre -PathType est de vérifier si l’objet est un fichier ou un dossier. Cependant, il peut également être utilisé dans le registre pour vérifier les clés ou les données.
Trap : HKLM : a besoin de ce deux-points. Si vous exportez simplement des zones du registre, puis copiez comme:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\\CurrentVersion\Winlogon
il y a des problèmes.
HKEY_LOCAL_MACHINE est bien, l’espace entre Windows et NT n’est pas un problème, mais l’absence de deux points est un obstacle, cela devrait être :
HKEY_LOCAL_MACHINE:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Guy Recommande : Network Performance Monitor (ESSAI GRATUIT)
SolarWinds Network Performance Monitor (NPM) vous aidera à découvrir ce qui se passe sur votre réseau. Cet utilitaire vous guidera également dans le dépannage ; le tableau de bord indiquera si la cause première est un lien brisé, un équipement défectueux ou une surcharge de ressources.
Ce que je préfère, c’est la façon dont NPM suggère des solutions aux problèmes de réseau. Son a également la capacité de surveiller la santé des machines virtuelles VMware individuelles. Si vous êtes intéressé par le dépannage, et la création de cartes réseau, alors je vous recommande d’essayer NPM sur un essai gratuit de 30 jours.
SolarWinds Network Performance Monitor Télécharger Essai GRATUIT de 30 jours
Le reste de la famille Path
Voici une technique simple pour trouver plus de cmdlets. Get-Command -Noun donne souvent des résultats intéressants, par exemple Resolve-Path.
# PowerShell Path Cmdlet ResearchClear-HostGet-Command -Noun Path
Join-Path
Resolve-Path
Split-Path
Test-Path
Exemple de Join-Path
Voici un beau script pour trouver quel lecteur héberge un dossier particulier.
Clear-Host$Folder = "Stuff"Get-PSDrive | Where-Object {$_.root -match ":\\" -and (Test-Path $(Join-Path $_.root $Folder))}
Note 8 : Veuillez changer « Stuff » par le nom du dossier que vous recherchez.
Par exemple : $Dossier = « Program Files »
Voir plus de tâches réelles pour PowerShell »
Résumé du cmdlet PowerShell Test-Path
La tâche classique pour PowerShell Test-Path est de vérifier qu’un fichier existe. Cependant, vous pouvez étendre son utilité en testant les chemins du registre, ou pour rechercher des fichiers avec une extension particulière.
Voir plus de tutoriels Microsoft PowerShell :
– PowerShell Home – Test-ServerHealth – Test-SystemHealth – Test-Connection – Test-Path
– Script de connexion PowerShell – PowerShell add printer – PowerShell Schedule Task – Free CSVDE Tool
– Map Network Drive – Exchange 2010 PowerShell Cmdlets – Exchange 2010 Performance Monitor
Veuillez m’envoyer un courriel si vous avez de meilleurs exemples de script. Veuillez également signaler toute erreur factuelle, grammaticale ou tout lien brisé, je me ferai un plaisir de corriger la faute.
.