IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Renommer les Interfaces réseaux d'un cluster Hyper-V [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 5
    Par défaut Renommer les Interfaces réseaux d'un cluster Hyper-V
    Bonjour,

    J'ai fait un Cluster Failover Hyper-V, avec 3 réseaux :

    - Réseau Général
    - Réseau iSCSI
    - Réseau Heartbeat

    Dans un premier temps j'ai pu renommer les disque du cluster, maintenant je voudrais renommer les interfaces réseaux mais j'ai un messages d'erreur plutot troublant :

    J'utilise la commande "Get-ClusterNetworkInterface" qui donne le résultat suivant :
    Get-ClusterNetworkInterface

    Name Node Network State
    ---- ---- ------- -----
    HyperV1 - vEthernet (Tinci) HyperV1 Réseau du cluster 1 Up
    HyperV2 - Tinci HyperV2 Réseau du cluster 1 Up
    HyperV1 - iSCSI-1 HyperV1 Réseau du cluster 2 Up
    HyperV1 - iSCSI-2 HyperV1 Réseau du cluster 2 Up
    HyperV2 - iSCSI-1 HyperV2 Réseau du cluster 2 Up
    HyperV2 - iSCSI-2 HyperV2 Réseau du cluster 2 Up
    HyperV1 - Heartbeat HyperV1 Réseau du cluster 3 Up
    HyperV2 - Heartbeat HyperV2 Réseau du cluster 3 Up
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $Path = "C:\DeployNano\Csv"
    $Getcsv = Get-ClusterNetworkInterface | Export-Csv "$Path\ClusterNetworkInterface.csv" -Delimiter "," -Encoding UTF8
    $NetCsv = Import-Csv "$Path\ClusterNetworkInterface.csv"
    
    Get-ClusterNetworkInterface -Name $NetCsv.Name[0] | %{$_.Network = "Tinci"}
    Message d'erreur :

    «*Network*» est une propriété en lecture seule.
    Au caractère Ligne:1 : 55
    + ... usterNetworkInterface -Name $NetCsv.Name[0] | %{$_.Network = "Tinci"}
    + ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation : ( [], RuntimeException
    + FullyQualifiedErrorId : PropertyAssignmentException
    Pourtant lorsque on fait cette action via la console graphique c'est une information qu'il est possible de changer :

    Nom : InterfaceNetwork.JPG
Affichages : 418
Taille : 50,8 Ko

    Quelqu'un aurait une idée pour changer cette information en powershell ?

    Merci d'avance pour vos réponses

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par dackeyras Voir le message
    Pourtant lorsque on fait cette action via la console graphique c'est une information qu'il est possible de changer :
    Consulte les membres de l'objet retourné, peut être que la propriété est en R/O mais qu'une méthode peut la modifier...

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 5
    Par défaut
    Tout d'abord, Merci pour ta réponse ^^

    Mais je ne sais pas encore comment utiliser les methodes.

    Comment fait-on pour consulter les membres de l'objet ?

    Plus j'y réfléchis plus je me dit, "C'est quoi les membres de l'objet retourné...."

    C'est bon pour les membres j'ai compris comment les voir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    PS C:\DeployNano\Files> Get-ClusterNetworkInterface | Get-Member
    
    
       TypeName : Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface
    
    Name          MemberType Definition                                                                     
    ----          ---------- ----------                                                                     
    Equals        Method     bool Equals(System.Object obj)                                                 
    GetHashCode   Method     int GetHashCode()                                                              
    GetType       Method     type GetType()                                                                 
    ToString      Method     string ToString()                                                              
    Update        Method     void Update()                                                                  
    Adapter       Property   string Adapter {get;}                                                          
    AdapterId     Property   string AdapterId {get;}                                                        
    Address       Property   string Address {get;}                                                          
    Cluster       Property   Microsoft.FailoverClusters.PowerShell.Cluster Cluster {get;}                   
    Description   Property   string Description {get;set;}                                                  
    DhcpEnabled   Property   uint32 DhcpEnabled {get;}                                                      
    Id            Property   string Id {get;}                                                               
    Ipv4Addresses Property   System.Object Ipv4Addresses {get;}                                             
    Ipv6Addresses Property   System.Object Ipv6Addresses {get;}                                             
    Name          Property   string Name {get;set;}                                                         
    Network       Property   Microsoft.FailoverClusters.PowerShell.ClusterNetwork Network {get;}            
    Node          Property   string Node {get;}                                                             
    State         Property   Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterfaceState State {get;}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Get-ClusterNetworkInterface | Get-Member | FT -Property *
    
    TypeName                                                      Name          MemberType Definition                                             
    --------                                                      ----          ---------- ----------                                             
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface Equals            Method bool Equals(System.Object obj)                         
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface GetHashCode       Method int GetHashCode()                                      
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface GetType           Method type GetType()                                         
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface ToString          Method string ToString()                                      
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface Update            Method void Update()                                          
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface Adapter         Property string Adapter {get;}                                  
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface AdapterId       Property string AdapterId {get;}                                
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface Address         Property string Address {get;}                                  
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface Cluster         Property Microsoft.FailoverClusters.PowerShell.Cluster Cluste...
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface Description     Property string Description {get;set;}                          
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface DhcpEnabled     Property uint32 DhcpEnabled {get;}                              
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface Id              Property string Id {get;}                                       
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface Ipv4Addresses   Property System.Object Ipv4Addresses {get;}                     
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface Ipv6Addresses   Property System.Object Ipv6Addresses {get;}                     
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface Name            Property string Name {get;set;}                                 
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface Network         Property Microsoft.FailoverClusters.PowerShell.ClusterNetwork...
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface Node            Property string Node {get;}                                     
    Microsoft.FailoverClusters.PowerShell.ClusterNetworkInterface State           Property Microsoft.FailoverClusters.PowerShell.ClusterNetwork...

    J'ai mis en gras l'objet qui m'interresse
    Après par contre...je ne sais pas quoi en faire...

    Je viens d'avoir un eclair de petit genie, mais tout petit hun
    Le {get;} qu'il y a la fin veut dire que c'est seulement en R/O c'est ca ?

    Mais comment le modifier ?

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par dackeyras Voir le message
    Je viens d'avoir un eclair de petit genie, mais tout petit hun
    Même les petits sont tjr bon à prendre, c'est mieux que l'obscurité :-)
    Citation Envoyé par dackeyras Voir le message
    Le {get;} qu'il y a la fin veut dire que c'est seulement en R/O c'est ca ?
    Oui.
    Citation Envoyé par dackeyras Voir le message
    Mais comment le modifier ?
    Je ne sais pas.
    Regarde les autres cmdlets.
    Effectue un get-member sur la propriété 'Network' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     $l=Get-ClusterNetworkInterface 
     $l[0].NetWork| Get-Member
    Regarde les classes WMI pour le cluster, un cmdlet peut parfois renvoyer des objets Powershell qui ne sont qu'une agrégation d'informations.
    En cherchant un peu j'ai trouvé, via la page WMI, cela.
    C'est sûr que ce n'est pas la voie que tu souhaites prendre et que tu ne recherche pas un jeu de piste mais une réponse précise, mais moi je ne peux pas plus.


    Un début de réponse
    (via Name puis 'Access Read-only').
    Le message est clair :
    Read-only properties cannot be changed through the normal property manipulation API elements. For some read-only properties, there are specialized API elements that change the property indirectly. For example, the Name property for networks is read-only, but the cluster object management function SetClusterNetworkName has the effect of changing the property.

    Do not try to force a change to a read-only property by direct manipulation of the cluster database. The result is likely to be an unusable cluster.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 5
    Par défaut
    Wouaw quels recherche tu a fait !
    Je te remercie beaucoup

    C'est aussi ce que je me disait, si c'est juste en RO, une modification peut créer des dysfonctionnement.
    Je te remercie énormément pour tes réponses Laurent ^^

    Du coup je vais continuer mon projet comme ca

    Bonne journée

  6. #6
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par dackeyras Voir le message
    C'est aussi ce que je me disait, si c'est juste en RO, une modification peut créer des dysfonctionnement.
    Dans l'encart cité il est fait mention de database (ce qui implique des relations entre données), il est probable que la méthode SetClusterNetworkName soit une exception concernant la modification d'une propriété R/O, on peut supposer qu'en interne elle gère ses relations. Le mieux eut été d'avoir confirmation auprès d'un forum MS dédié au cluster.
    Si tu as une plate forme de test regarde ce cmdlet.
    Citation Envoyé par dackeyras Voir le message
    Bonne journée
    Merci à toi aussi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/12/2020, 18h57
  2. Dupliquer tous les paquets réseaux vers une interface
    Par Antoine_935 dans le forum Réseau
    Réponses: 5
    Dernier message: 19/01/2011, 11h41
  3. détecter les interfaces réseaux de mon pc?
    Par nabilou84 dans le forum Windows
    Réponses: 1
    Dernier message: 10/05/2007, 17h32
  4. à quoit sert les interfaces ?
    Par nytmare dans le forum MVC
    Réponses: 13
    Dernier message: 12/09/2004, 11h57
  5. Réponses: 2
    Dernier message: 31/10/2003, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo