Question Afficher la taille disque disponible à distance

Plus d'informations
il y a 16 ans 8 mois #4881 par Usul
Bonjour,

apres pas mal de recherches je ne trouve toujourspas la solution qui doit etre simple !

Alors voila je suis tombé sur un script qui fonctionne bien
[code:1]
# get-freespace.ps1
param ($computer = \".\", [switch]$total)
# récupérer tous les disques logiques de l'ordinateur:
get-wmiobject -computer $computer win32_logicaldisk |
tee-object -variable disques |
select-object @{e={$_.systemname};n=\"Système\"},
@{e={$_.name};n=\"Disque\"},
@{e={[math]::round($_.freespace/1GB,1)};n=\"Disponible (Go)\"}

# afficher l'espace disponible total si demandé:

if ($total) {
\"`nEspace Disponible Total sur $($disques[0].systemname): $([math]::round(($disques|measure-object
freespace -sum).sum/1GB,1)) Go\"
}
[/code:1]

Ensuite et mon probleme vient de la je veux

Exemples d'usage pour une liste des espaces libres sur l'ensemble d'un parc:


[code:1]# récupération et affichage des espaces libres pour chaque ordinateur listé dans parc.txt:
PS> get-content parc.txt | foreach {get-freespace $_}[/code:1]
et c'est la que ça bloque .... je ne comprend pas !

que je mette le texte a la suite dans mon .ps1 ou que j essaie de l executer à part (et meme en mettant le nom complet pour le chemin, cela ne fonctionne pas

si qqn pouvais expliquer à un noob :laugh:

Merci beaucoup

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 8 mois #4882 par Laurent Dardenne
Salut,
UsulMuaDib écrit:

cela ne fonctionne pas

Peux-tu préciser le problème exactement ? Un message d'erreur par exemple.
Quel est le contenu du fichier parc.txt ?

En passant, il n'y a pas de gestion d'erreur dans ton script, une machine peut ne pas répondre, etc

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 8 mois #4910 par dimeric
bonjour

le script de janel (je crois) fonctionne bien chez moi.

il me reste a le configurer et tester pour 6 serveurs echange ...en cluster...

par contre je cherche a envoyer les resultats vers un fichier csv (voir xls) ey y faire figure le nom serveur , la lettre de disque et la taille restante.

J ai essaye le out-file mais echec pour le moment....

A suivre

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 7 mois #4974 par yvan
Bonjour,

Suite au lancement du script je rencontre un problème
Quand je le lance en local pas de problème mais des que je mets en argument le nom du serveur, il m'affiche un message d'erreur ( voir P.J) : Get WmiObject: Accès refusé.

Je pense que je devrais le lancer avec les droits admin mais je ne connais pas la commande.

Merci de votre aide



Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 7 mois #4975 par maycry
Pour ton info, accés refusé, il faut que ton script soit exécutant avec les droits suffisants.

$Cred = get-Credential \"DOMAIN\admin\"
:P un clic droit sur propriété avec \"exécuter en tant que\"

Tiens moi par exemple sur chaque serveur, tous les matins je recoit une alerte mail qui m'indique l'état actuel de mes disques.
Le server Exchange va checker tous mes DD sur tous mes servers.

Dans ce cas ci-dessous, il s'agit d'un server EDGE en groupe de travail



Script powershell pour récupérer les infos des HDD
[code:1]#************************************Serveur EDGE **************************************

$computer = \".\"
# récupérer tous les disques logiques de l'ordinateur:
get-wmiobject -computer $computer win32_logicaldisk | where {$_.drivetype -eq 3} |
tee-object -variable disques |
select-object @{e={$_.systemname};n=\"Nom du Serveur\"},
@{e={$_.name};n=\"Disque Dur\"},
@{e={[math]::round($_.freespace/1GB,1)};n=\"Disponible (Go)\"},
@{e={[math]::round(([int64]$_.freespace/[int64]$_.size*100),0)};n=\"% restant\"} >> E:\EdgeMailscript\HardDisk_Space.log
# afficher l'espace disponible total si demandé:
##i11:56 AM 10/10/2007f ($total) {
\"`nEspace Disponible Total sur $($disques[0].systemname): $([math]::round(($disques|measure-object freespace -sum).sum/1GB,1)) Go\" >> E:\EdgeMailscript\HardDisk_Space.log
#}[/code:1]


Script VBS qui lit le contenu du fichier.log et envoi par mail ( oui tu peux faire ca depuis powershell mais mon script date)

[code:1]
' ##################### Scriipt #####################
' Produit = Script d'envoi de log par mail /
' Auteur = Christian Bousquet
' © 5/11/2007
dim ObjFSO
Const ForReading = 1
set ObjFso = CreateObject (\"Scripting.FilesystemObject\"«»)
set ObjTextFile = objFSO.OpentextFile _
(\"E:\EdgeMailscript\Status_HDD.log\", ForReading)
LogFile = ObjtextFile.ReadAll
ObjTextfile.close


'***************************************************************************************
' Création de la Section d'envoi de mail

Set ObjMessage = CreateObject (\"CDO.Message\"«»)
objmessage.subject = \"!!EDGE_SERVER Hard_Disk_Drive Windows-Servers!!\"
objmessage.From = \"StatusDisk@doamin.com\"
objmessage.To = \"quituveux@domain.com\"
objmessage.TextBody = \" \"&Logfile&\" \"


'==Section des paramètres WINDOWS template pour l'utilisation de l'object CDO.Message

objMessage.Configuration.Fields.Item _
(\"schemas.microsoft.com/cdo/configuration/sendusing\"«») = 2

'nom du serveur smtp
objMessage.Configuration.Fields.Item _
(\"schemas.microsoft.com/cdo/configuration/smtpserver\"«») = \"172.16.1.244\"

'port du server
objMessage.Configuration.Fields.Item _
(\"schemas.microsoft.com/cdo/configuration/...serverport\"«») = 25

objMessage.Configuration.Fields.Update

'==Fin des paramètres / commande d'envoi du mail==

objMessage.Send



' supression du fichier LOG afin q'u'il ne se remplisse continuellement
Set objFSO = CreateObject(\"Scripting.FileSystemObject\"«»)
objFSO.DeleteFile(\"E:\Edgemailscript\HardDisk_Space.log\"«»)
objFSO.DeleteFile (\&quot;E:\Edgemailscript\Status_HDD.log\&quot;«»)[/code:1]Un<br><br>Message édité par: chris, à: 24/07/09 12:55

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.104 secondes
Propulsé par Kunena