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 :

comparer chaine de caractère [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    et systeme
    Inscrit en
    Décembre 2021
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : et systeme

    Informations forums :
    Inscription : Décembre 2021
    Messages : 9
    Par défaut comparer chaine de caractère
    Bonjour,

    Je cherche une solution pour raccourcir ce script.

    je ne connais pas la syntaxe qui permet de rechercher les nombre entre (Example) 0 - 10



    Code powershell : 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
    26
    27
    28
    29
     
     
    $esxi_dispo_choisi = "AAA05.domaine.lan" 
    $nom_P = "BBB02"
     
     if($esxi_dispo_choisi -like "AAA00`*"){
            $old_name = "ais00"
            $renomage = $nom_p    
            dns_nom $renomage $old_name
            Add-VMHost -Name "$nom_p.domaine.lan" -Location ESXI-disponible -User root -Password AAAAAAAA -Force -Confirm:$false
        }
        elseif($esxi_dispo_choisi -like "AAA01`*"){
            $old_name = "ais01"
            $renomage = $nom_p    
            dns_nom $renomage $old_name
            Add-VMHost -Name "$nom_p.domaine.lan" -Location ESXI-disponible -User root -Password AAAAAAAA -Force -Confirm:$false
        }
        elseif($esxi_dispo_choisi -like "AAA02`*"){
            $old_name = "ais02"
            $renomage = $nom_p    
            dns_nom $renomage $old_name
            Add-VMHost -Name "$nom_p.domaine.lan" -Location ESXI-disponible -User root -Password AAAAAAAA -Force -Confirm:$false
        }
        elseif($esxi_dispo_choisi -like "AAA03`*"){
            $old_name = "ais03"
            $renomage = $nom_p    
            dns_nom $renomage $old_name
            Add-VMHost -Name "$nom_p.domaine.lan" -Location ESXI-disponible -User root -Password AAAAAAAA -Force -Confirm:$false
        }

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Voici un exemple simple en reprenant tes actions (que je ne comprends pas trop)

    - On récupère les chiffres
    - On vérifie sa valeur
    - On le format en 2 caractères

    Code powershell : 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
    $esxi_dispo_choisi = "AAA05.domaine.lan"
    $nom_P = "BBB02"
     
    # Si le motif est reconnu
    if ($esxi_dispo_choisi -match "AAA(\d+)")
    {
        # Récupère le premier groupe matché
        $numero = [int]$Matches.1
     
        # Si le numéro est supérieur ou égale à 0 et inférieur ou égale à 10
        if ($numero -ge 0 -and $numero -le 10)
        {
            $old_name = "ais$($numero.ToString("00"))"
            $renomage = $nom_p
            dns_nom $renomage $old_name
            Add-VMHost -Name "$nom_p.domaine.lan" -Location ESXI-disponible -User root -Password AAAAAAAA -Force -Confirm:$false
        }
    }

    PS = $esxi_dispo_choisi = AAA05.domaine.lan Ceci n'est pas valide

  3. #3
    Membre habitué
    Homme Profil pro
    et systeme
    Inscrit en
    Décembre 2021
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : et systeme

    Informations forums :
    Inscription : Décembre 2021
    Messages : 9
    Par défaut
    Merci beaucoup, votre aide a résolu mon problème.
    Merci encore

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 09/08/2016, 17h07
  2. [Trigger] comparer chaine de caractères
    Par tck-lt dans le forum PL/SQL
    Réponses: 2
    Dernier message: 06/12/2011, 12h03
  3. Comparer deux chaines de caractères dans un if ?
    Par Xplosif² dans le forum C++
    Réponses: 6
    Dernier message: 25/02/2006, 19h21
  4. comparer deux chaines de caractères
    Par peuf23 dans le forum Langage
    Réponses: 3
    Dernier message: 30/01/2006, 14h31
  5. Comparer 2 chaines de caractères
    Par arkem dans le forum Langage
    Réponses: 3
    Dernier message: 16/01/2006, 14h52

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