Question
[Résolu] Interroger des clusters
- zaerazerazer
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 49
- Remerciements reçus 0
il y a 8 ans 1 mois #20573
par zaerazerazer
En cours de découverte du GraalPowershell !
[Résolu] Interroger des clusters a été créé par zaerazerazer
Bonjour,
j'aimerais intérroger mes clusters sur un serveur qui a failoverCluster manager d'installé mais qui n'a pas de service cluster.
J'ai trouvé par exemple le module FailoverClusters mais il nécéssite le service cluster en cours d'éxécution.
Voila un code d'interrogation que j'aimerais clairement voir fonctionner car c'est exactement les infos dont j'ai besoin.
[code:1]
Import-Module FailoverClusters
$objs = @()
$csvs = Get-ClusterSharedVolume
foreach ( $csv in $csvs )
{
$csvinfos = $csv | select -Property Name -ExpandProperty SharedVolumeInfo
foreach ( $csvinfo in $csvinfos )
{
$obj = New-Object PSObject -Property @{
Name = $csv.Name
Path = $csvinfo.FriendlyVolumeName
Size = $csvinfo.Partition.Size
FreeSpace = $csvinfo.Partition.FreeSpace
UsedSpace = $csvinfo.Partition.UsedSpace
PercentFree = $csvinfo.Partition.PercentFree
}
$objs += $obj
}
}
$objs | ft -auto Name,Path,@{ Label = \"Size(GB«»)\" ; Expression = { \"{0:N2}\" -f ($_.Size/1024/1024/1024) } },@{ Label = \"FreeSpace(GB«»)\" ; Expression = { \"{0:N2}\" -f ($_.FreeSpace/1024/1024/1024) } },@{ Label = \"UsedSpace(GB«»)\" ; Expression = { \"{0:N2}\" -f ($_.UsedSpace/1024/1024/1024) } }
[/code:1]
Avez-vous une idée de comment m'y prendre ?
Message édité par: Tibo54, à: 4/08/15 15:52<br><br>Message édité par: Tibo54, à: 11/08/15 09:43
j'aimerais intérroger mes clusters sur un serveur qui a failoverCluster manager d'installé mais qui n'a pas de service cluster.
J'ai trouvé par exemple le module FailoverClusters mais il nécéssite le service cluster en cours d'éxécution.
Voila un code d'interrogation que j'aimerais clairement voir fonctionner car c'est exactement les infos dont j'ai besoin.
[code:1]
Import-Module FailoverClusters
$objs = @()
$csvs = Get-ClusterSharedVolume
foreach ( $csv in $csvs )
{
$csvinfos = $csv | select -Property Name -ExpandProperty SharedVolumeInfo
foreach ( $csvinfo in $csvinfos )
{
$obj = New-Object PSObject -Property @{
Name = $csv.Name
Path = $csvinfo.FriendlyVolumeName
Size = $csvinfo.Partition.Size
FreeSpace = $csvinfo.Partition.FreeSpace
UsedSpace = $csvinfo.Partition.UsedSpace
PercentFree = $csvinfo.Partition.PercentFree
}
$objs += $obj
}
}
$objs | ft -auto Name,Path,@{ Label = \"Size(GB«»)\" ; Expression = { \"{0:N2}\" -f ($_.Size/1024/1024/1024) } },@{ Label = \"FreeSpace(GB«»)\" ; Expression = { \"{0:N2}\" -f ($_.FreeSpace/1024/1024/1024) } },@{ Label = \"UsedSpace(GB«»)\" ; Expression = { \"{0:N2}\" -f ($_.UsedSpace/1024/1024/1024) } }
[/code:1]
Avez-vous une idée de comment m'y prendre ?
Message édité par: Tibo54, à: 4/08/15 15:52<br><br>Message édité par: Tibo54, à: 11/08/15 09:43
En cours de découverte du GraalPowershell !
Connexion ou Créer un compte pour participer à la conversation.
- SiSMik
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 492
- Remerciements reçus 0
il y a 8 ans 1 mois #20575
par SiSMik
Réponse de SiSMik sur le sujet Re:Interroger des clusters
Salut,
Si on part du principe que ton cluster est composé de: srv01, srv02 et srv03.
Pour utiliser le module, c'est comme tu le dis, il te faut le service cluster d'installer.
Pour contourner ce problème, tu peux utiliser l'implicit remoting
L'idée c'est de créer une session WinRM sur le serveur où est installé le service cluster et de charger le module à travers cette session, par ce biais les cmdlets exécutés localement (le module et les cmdlets associés seront accessibles sur ton serveur) ne seront en fait que des proxy et retourneront le résultat obtenu sur le serveur distant.
En gros:
[code:1]
$s = New-PsSession -computername srv01
Import-Module -Session $s FailoverClusters
[/code:1]
Et après tu fais ton code comme dans ton post.
Ceci est une solution à tester, je n'ai pas de cluster sous le coude pour valider ça, mais ça doit pouvoir marcher
@+
Si on part du principe que ton cluster est composé de: srv01, srv02 et srv03.
Pour utiliser le module, c'est comme tu le dis, il te faut le service cluster d'installer.
Pour contourner ce problème, tu peux utiliser l'implicit remoting
L'idée c'est de créer une session WinRM sur le serveur où est installé le service cluster et de charger le module à travers cette session, par ce biais les cmdlets exécutés localement (le module et les cmdlets associés seront accessibles sur ton serveur) ne seront en fait que des proxy et retourneront le résultat obtenu sur le serveur distant.
En gros:
[code:1]
$s = New-PsSession -computername srv01
Import-Module -Session $s FailoverClusters
[/code:1]
Et après tu fais ton code comme dans ton post.
Ceci est une solution à tester, je n'ai pas de cluster sous le coude pour valider ça, mais ça doit pouvoir marcher

@+
Connexion ou Créer un compte pour participer à la conversation.
- zaerazerazer
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 49
- Remerciements reçus 0
il y a 8 ans 1 mois #20576
par zaerazerazer
En cours de découverte du GraalPowershell !
Réponse de zaerazerazer sur le sujet Re:Interroger des clusters
benduru écrit:
Bonjour benduru et merci pour ta réponse mais je ne suis malheuresement qu'en version 2.0 de PS et l'argument -PSSESION de IMPORT-MODULE est apparu bien après :/
Mais en tout merci pour la piste c'est clairement comme cela que je dois procéder avec les moyens aracaïque du bords
[code:1]
$s = New-PsSession -computername srv01
Import-Module -PSSession $s FailoverClusters
[/code:1]
Et après tu fais ton code comme dans ton post.
Ceci est une solution à tester, je n'ai pas de cluster sous le coude pour valider ça, mais ça doit pouvoir marcher
@+
Bonjour benduru et merci pour ta réponse mais je ne suis malheuresement qu'en version 2.0 de PS et l'argument -PSSESION de IMPORT-MODULE est apparu bien après :/
Mais en tout merci pour la piste c'est clairement comme cela que je dois procéder avec les moyens aracaïque du bords

En cours de découverte du GraalPowershell !
Connexion ou Créer un compte pour participer à la conversation.
- SiSMik
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 492
- Remerciements reçus 0
il y a 8 ans 1 mois #20590
par SiSMik
Réponse de SiSMik sur le sujet Re:Interroger des clusters
Ok,
tu peux essayer ça dans ce cas là:
[code:1]Invoke-Command -Session $session {Import-Module -Name FailoverClusters}[/code:1]
ça devrait marcher
tu peux essayer ça dans ce cas là:
[code:1]Invoke-Command -Session $session {Import-Module -Name FailoverClusters}[/code:1]
ça devrait marcher
Connexion ou Créer un compte pour participer à la conversation.
- zaerazerazer
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 49
- Remerciements reçus 0
il y a 8 ans 1 mois #20599
par zaerazerazer
En cours de découverte du GraalPowershell !
Réponse de zaerazerazer sur le sujet Re:Interroger des clusters
J'ai du mieux merci!
j'arrive à récupérer le nom du olume partagé mais pas les autres infos celles qui sont dans \"SharedVolumeInfo\".
oilà ce que donne le code :
[code:1]
$s = New-PsSession -computername HYPERVTEST03
Invoke-Command -session $s -script { Import-Module FailoverClusters }
Import-PSSession -session $s -module FailoverClusters -AllowClobber
$objs = @()
$csvs = Get-ClusterSharedVolume
foreach ( $csv in $csvs )
{
$csvinfos = $csv | select -Property Name -ExpandProperty SharedVolumeInfo
foreach ( $csvinfo in $csvinfos )
{
$obj = New-Object PSObject -Property @{
Name = $csv.Name
Path = $csvinfo.FriendlyVolumeName
Size = $csvinfo.Partition.Size
FreeSpace = $csvinfo.Partition.FreeSpace
UsedSpace = $csvinfo.Partition.UsedSpace
PercentFree = $csvinfo.Partition.PercentFree
}
$objs += $obj
}
}
$objs
$s | Remove-PSSession
[/code:1]
j'arrive à récupérer le nom du olume partagé mais pas les autres infos celles qui sont dans \"SharedVolumeInfo\".
oilà ce que donne le code :
[code:1]
$s = New-PsSession -computername HYPERVTEST03
Invoke-Command -session $s -script { Import-Module FailoverClusters }
Import-PSSession -session $s -module FailoverClusters -AllowClobber
$objs = @()
$csvs = Get-ClusterSharedVolume
foreach ( $csv in $csvs )
{
$csvinfos = $csv | select -Property Name -ExpandProperty SharedVolumeInfo
foreach ( $csvinfo in $csvinfos )
{
$obj = New-Object PSObject -Property @{
Name = $csv.Name
Path = $csvinfo.FriendlyVolumeName
Size = $csvinfo.Partition.Size
FreeSpace = $csvinfo.Partition.FreeSpace
UsedSpace = $csvinfo.Partition.UsedSpace
PercentFree = $csvinfo.Partition.PercentFree
}
$objs += $obj
}
}
$objs
$s | Remove-PSSession
[/code:1]
En cours de découverte du GraalPowershell !
Connexion ou Créer un compte pour participer à la conversation.
- SiSMik
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 492
- Remerciements reçus 0
il y a 8 ans 1 mois #20602
par SiSMik
Réponse de SiSMik sur le sujet Re:Interroger des clusters
As-tu des messages d'erreur ?
Je n'ai pas de cluster sous le coude pour tester donc...
Je n'ai pas de cluster sous le coude pour tester donc...
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.056 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Interroger des clusters