Question
Script espace disque !
- Van_De
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 59
- Remerciements reçus 0
il y a 14 ans 11 mois #9318
par Van_De
Script espace disque ! a été créé par Van_De
Bonjour,
J'ai récupéré le script qui vérifie l'espace disque disponible sur une liste de machines (Script de la bibliothèques du site)
Le script fonctionne à merveille, et j'en ressort le résultat dans un fichier texte. J'ai donc dans mon fichier texte la liste de mes machines avec tout les lecteurs et l'espace disponible.
Cependant je chercherais à améliorer ce script afin qu'il ne prenne en compte que les lecteurs C et D, ou qu'il exclue les lecteurs A, E, F ...
J'ai plus ou moins réussi à obtenir ce que je cherchais grâce à la commande Select-String ! Mais je n'arrive pas exactement à ce que je recherche ...
A la sortie de ma commande Select-String j'ai bien toutes mes machines avec leur lecteurs (Hormis A, E, F) comme je le voulais, mais devant chaque ligne le chemin du fichier texte et le numéro de la ligne s'y sont ajoutés...
J'aimerais évidemment pouvoir enlever ces informations et ne retirer que les colonnes Système, Disque, et Disponible.
Merci d'avance
J'ai récupéré le script qui vérifie l'espace disque disponible sur une liste de machines (Script de la bibliothèques du site)
Le script fonctionne à merveille, et j'en ressort le résultat dans un fichier texte. J'ai donc dans mon fichier texte la liste de mes machines avec tout les lecteurs et l'espace disponible.
Cependant je chercherais à améliorer ce script afin qu'il ne prenne en compte que les lecteurs C et D, ou qu'il exclue les lecteurs A, E, F ...
J'ai plus ou moins réussi à obtenir ce que je cherchais grâce à la commande Select-String ! Mais je n'arrive pas exactement à ce que je recherche ...
A la sortie de ma commande Select-String j'ai bien toutes mes machines avec leur lecteurs (Hormis A, E, F) comme je le voulais, mais devant chaque ligne le chemin du fichier texte et le numéro de la ligne s'y sont ajoutés...
Merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
- Thierry
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 42
- Remerciements reçus 0
il y a 14 ans 11 mois #9321
par Thierry
Réponse de Thierry sur le sujet Re:Script espace disque !
bonjour,
tu peux poster ton script SVP...
Thierry
tu peux poster ton script SVP...
Thierry
Connexion ou Créer un compte pour participer à la conversation.
- Van_De
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 59
- Remerciements reçus 0
il y a 14 ans 11 mois #9322
par Van_De
Réponse de Van_De sur le sujet Re:Script espace disque !
Il y à donc le script qui est dans la bibliothèque qui récupère tout dans un fichier texte et ensuite j'ai ce script qui me \"trie\" les informations :
[code:1]Select-String -Path \"C:\Scripts\Disque\EspaceDisque.txt\" -Pattern A:, E:, F: -NotMatch | Out-File C:\Scripts\Disque\EspaceFinal.txt[/code:1]
Et dans mon fichier texte j'arrive à un résultats du style :
[code:1]C:\Scripts\Disque\EspaceDisque.txt:4:«»Poste1 C: 50,2[/code:1]
J'aimerais enlever le chemin et le numéro de ligne.
Merci d'avance
[code:1]Select-String -Path \"C:\Scripts\Disque\EspaceDisque.txt\" -Pattern A:, E:, F: -NotMatch | Out-File C:\Scripts\Disque\EspaceFinal.txt[/code:1]
Et dans mon fichier texte j'arrive à un résultats du style :
[code:1]C:\Scripts\Disque\EspaceDisque.txt:4:«»Poste1 C: 50,2[/code:1]
J'aimerais enlever le chemin et le numéro de ligne.
Merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
- Thierry
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 42
- Remerciements reçus 0
il y a 14 ans 11 mois #9323
par Thierry
Réponse de Thierry sur le sujet Re:Script espace disque !
Salut,
bon je débute comme toi mais essaye :
[code:1]Select-String -Path \"C:\Scripts\Disque\EspaceDisque.txt\" -Pattern A:, E:, F: -NotMatch | %{$_.matches | %{$_.value}}| Out-File C:\Scripts\Disque\EspaceFinal.txt[/code:1]
la boucle foreach (\"%{}\") te permet :
- de sélectionner les objets contenant les résultats : {$_.matches | }
- puis d'afficher uniquement les résultats contenu dans chaque réponse : % {$_.value}
donc ça devrait marcher...
Thierry
Message édité par: thierry92, à: 1/04/11 10:22<br><br>Message édité par: thierry92, à: 1/04/11 11:04
bon je débute comme toi mais essaye :
[code:1]Select-String -Path \"C:\Scripts\Disque\EspaceDisque.txt\" -Pattern A:, E:, F: -NotMatch | %{$_.matches | %{$_.value}}| Out-File C:\Scripts\Disque\EspaceFinal.txt[/code:1]
la boucle foreach (\"%{}\") te permet :
- de sélectionner les objets contenant les résultats : {$_.matches | }
- puis d'afficher uniquement les résultats contenu dans chaque réponse : % {$_.value}
donc ça devrait marcher...
Thierry
Message édité par: thierry92, à: 1/04/11 10:22<br><br>Message édité par: thierry92, à: 1/04/11 11:04
Connexion ou Créer un compte pour participer à la conversation.
- Olivier
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 182
- Remerciements reçus 0
il y a 14 ans 11 mois #9324
par Olivier
Réponse de Olivier sur le sujet Re:Script espace disque !
Bonjour Van_De 
Voici un bout d code qui te permettra de trouver des informations concernant tes disques en local et/ou en réseau (À adapter ...)
[code:1]$Target = \"LocalHost\"
$LocalDisk = Get-WmiObject -ComputerName $Target Win32_LogicalDisk | Where-Object {$_.DeviceID -match '[C-E]:'} | Select-Object `
@{name=\"Lettre Lecteur\";Expression={$_.DeviceID}},
@{name=\"Nom Volume\";Expression={$_.VolumeName}},
@{name=\"Espace Libre GB\";Expression={($_.freespace/1GB«»).ToString(\"#,###.## GB\"«»)}},
@{name=\"Pourcentage Libre\";Expression={‘{0:«»P2}’ -f(($_.freespace/1gb) / ($_.size/1gb))}},
@{name=\"Taille Totale\";Expression={($_.Size/1GB«»).ToString(\"#,###.## GB\"«»)}},
@{name=\"Système de Fichier\";Expression={$_.FileSystem}}
$LocalDisk | Format-Table[/code:1]
Dans cet exemple, on selectionne les disques C: à E: ... pour modifier la sélection, il faudra éditer la ligne contenant \"{$_.DeviceID -match '[C-E]:'}\"
Pour ce qui est de l'audit \"Disk\" local, c'est OK mais pour le réseau, il faudra adapter la variable $Target par un truc du genre :
[code:1]$Target = Get-Content Fichier.txt[/code:1]
Au plaisir
Olivier D.
Virtual Business Card
Profile Linkedin
PS : le code en pièce jointe car mise en forme \"Smile\"
PS2 : Haa ben le problème Smile survient uniquement à l'aperçu ... Donc un coipé-collé devrait fonctionner
PS 3 : Un conseil, essaie de faire fonctionner en premier ton Script en local et ensuite, ajoute le nécessaire pour le faire en réseau ... Le plus simple pour commencer
<br><br>Message édité par: Olivier, à: 1/04/11 12:32
Voici un bout d code qui te permettra de trouver des informations concernant tes disques en local et/ou en réseau (À adapter ...)
[code:1]$Target = \"LocalHost\"
$LocalDisk = Get-WmiObject -ComputerName $Target Win32_LogicalDisk | Where-Object {$_.DeviceID -match '[C-E]:'} | Select-Object `
@{name=\"Lettre Lecteur\";Expression={$_.DeviceID}},
@{name=\"Nom Volume\";Expression={$_.VolumeName}},
@{name=\"Espace Libre GB\";Expression={($_.freespace/1GB«»).ToString(\"#,###.## GB\"«»)}},
@{name=\"Pourcentage Libre\";Expression={‘{0:«»P2}’ -f(($_.freespace/1gb) / ($_.size/1gb))}},
@{name=\"Taille Totale\";Expression={($_.Size/1GB«»).ToString(\"#,###.## GB\"«»)}},
@{name=\"Système de Fichier\";Expression={$_.FileSystem}}
$LocalDisk | Format-Table[/code:1]
Dans cet exemple, on selectionne les disques C: à E: ... pour modifier la sélection, il faudra éditer la ligne contenant \"{$_.DeviceID -match '[C-E]:'}\"
Pour ce qui est de l'audit \"Disk\" local, c'est OK mais pour le réseau, il faudra adapter la variable $Target par un truc du genre :
[code:1]$Target = Get-Content Fichier.txt[/code:1]
Au plaisir
Olivier D.
Virtual Business Card
Profile Linkedin
PS : le code en pièce jointe car mise en forme \"Smile\"
La pièce jointe Disk.ps1 est absente ou indisponible
PS2 : Haa ben le problème Smile survient uniquement à l'aperçu ... Donc un coipé-collé devrait fonctionner
PS 3 : Un conseil, essaie de faire fonctionner en premier ton Script en local et ensuite, ajoute le nécessaire pour le faire en réseau ... Le plus simple pour commencer
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Olivier
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 182
- Remerciements reçus 0
il y a 14 ans 11 mois #9325
par Olivier
Réponse de Olivier sur le sujet Re:Script espace disque !
RE ...
Autre exemple :
[code:1]Get-WMIObject Win32_LogicalDisk -filter \"DriveType=3\" -computer localhost | Select `
@{Name=”Lettre Lecteur”;Expression={‘{0:N1}’ -f($_.DeviceID)}},
@{Name=”Nom de Volume”;Expression={‘{0:N1}’ -f($_.VolumeName)}},
@{Name=”Taille (GB«»)”;Expression={‘{0:N1}’ -f($_.size/1gb)}},
@{Name=”Espace libre (GB«»)”;Expression={‘{0:N1}’ -f($_.freespace/1gb)}},
@{Name=”Espace libre (%)”;Expression={‘{0:«»P2}’ -f(($_.freespace/1gb) / ($_.size/1gb))}},
@{Name=”Système de fichier”;Expression={‘{0:N1}’ -f($_.FileSystem)}} | Out-GridView -Title “Drive Space”[/code:1]
Script à adapter bien entendu
Résultat du script :
Au plaisir
Olivier D.
Virtual Business Card
Profile Linkedin <br><br>Message édité par: Olivier, à: 4/04/11 08:56
Autre exemple :
[code:1]Get-WMIObject Win32_LogicalDisk -filter \"DriveType=3\" -computer localhost | Select `
@{Name=”Lettre Lecteur”;Expression={‘{0:N1}’ -f($_.DeviceID)}},
@{Name=”Nom de Volume”;Expression={‘{0:N1}’ -f($_.VolumeName)}},
@{Name=”Taille (GB«»)”;Expression={‘{0:N1}’ -f($_.size/1gb)}},
@{Name=”Espace libre (GB«»)”;Expression={‘{0:N1}’ -f($_.freespace/1gb)}},
@{Name=”Espace libre (%)”;Expression={‘{0:«»P2}’ -f(($_.freespace/1gb) / ($_.size/1gb))}},
@{Name=”Système de fichier”;Expression={‘{0:N1}’ -f($_.FileSystem)}} | Out-GridView -Title “Drive Space”[/code:1]
Script à adapter bien entendu
Résultat du script :
Au plaisir
Olivier D.
Virtual Business Card
Profile Linkedin <br><br>Message édité par: Olivier, à: 4/04/11 08:56
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.095 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Script espace disque !