Question variable de schrodinger

Plus d'informations
il y a 1 an 1 semaine #33067 par rhiwotar
variable de schrodinger a été créé par rhiwotar
Bonjour,

j'ai isolé ce bout de code et, que je mette -like ou -notlike, le résultat est toujours non ... je dois être trop fatigué ce matin pour comprendre mais si quelqu'un comprends, je suis preneur!!
$ListeGroupe = New-Object System.Collections.ArrayList
if($listegroupe -like $null){
    "oui"
}else{
    "non"
}


Merci d'avance

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

Plus d'informations
il y a 1 an 1 semaine #33069 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet variable de schrodinger
Salut,
quel est l'objectif ?
-Like opère sur des string, un Arraylist peut contenir différent type.
L'opérateur -eq est peut être préférable et dans ce cas inverse les opérandes
$null -eq $listegroupe
Enfin une collection vide est particulière...

Tutoriels PowerShell

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

Plus d'informations
il y a 1 an 1 jour #33076 par rhiwotar
Réponse de rhiwotar sur le sujet variable de schrodinger
Avec le 
$null -eq $listegroupe
ça ne marche pas.

Le but c'est tester que mon utilisateur a des groupes
$listegroupe = ((get-aduser $env:USERNAME -Properties memberof).memberof |get-adgroup).name

je vais chercher une autre façon de faire mais j'aurais aimé avoir une réponse si j'utilise ça dans un autre contexte

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

Plus d'informations
il y a 1 an 1 jour #33077 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet variable de schrodinger
>>ça ne marche pas.
Il faut utiliser un jeu de tests pour comprendre le comportement avec le code que tu as donné à l'origine. $null -eq $listegroupe permet de savoir si la liste est vide/créée, mais ne concerne pas le contenu de la collection.

>>Le but c'est tester que mon utilisateur a des groupes
Dans ce cas crée une collection via le résultat d'une commande, puis utilise la propriété count.
$listegroupe = (get-aduser $env:USERNAME -Properties memberof).memberof |get-adgroup

$ListeGroupe.Count #Test
$ListeGroupe.Name #Détail
tu peux forcer avec $listegroupe = @( liste de cmd ) , car certaines fois on récupère un seul objet et pas une collection contenant zéro ou 1 ou n éléments.

Tutoriels PowerShell

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

Plus d'informations
il y a 1 an 1 jour - il y a 1 an 1 jour #33078 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet variable de schrodinger
Un exemple :
$ListeGroupe = New-Object System.Collections.ArrayList
($Null -eq $ListeGroupe).count
($ListeGroupe -eq $null).count


$ListeGroupe = New-Object System.Collections.ArrayList
$ListeGroupe.Add('Test') > $null
($ListeGroupe -eq $null).count
($Null -eq $ListeGroupe).count

$ListeGroupe = New-Object System.Collections.ArrayList
$ListeGroupe.Add($null) > $null
($ListeGroupe -eq $null).count
($Null -eq $ListeGroupe).count

Tutoriels PowerShell
Dernière édition: il y a 1 an 1 jour par Laurent Dardenne.

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

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