Question [résolu]condition if

Plus d'informations
il y a 10 ans 4 mois #16661 par lege
Réponse de lege sur le sujet Re:condition if
Laurent écrit :

$windows7 = 0 correspond à un poste client serveur 2008 . C'est bien ça ?


oui c'est bien ça


Laurent écrit :

Parce que dans ton script la valeur par défaut n'est pas affecté : $windows7 = \"0\" n'existe pas.


parce que l'utilisateur ne rentre pas de valeur dans la variable $windows7

Laurent écrit :

Normalisation #correspond a une normalisation d'un poste client

PostInstallation #correspond à une configuration après l'installation d'un windows 7 ou d'un serveur 2008


oui c'est bien ça

Laurent écrit :

WindowsSeven # correspond à un poste client windows 7
Serveur2008 #correspond à un serveur 2008


windows7 = correspond à un poste windows seven
serveur = correspond à un serveur 2008

laurent écrit :

La normalisation d'un poste se fait aussi sur un serveur ?


oui

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

Plus d'informations
il y a 10 ans 4 mois #16662 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:condition if
arsoul écrit:

parce que l'utilisateur ne rentre pas de valeur dans la variable $windows7

Cela n'a rien à voir. Si tu précises un nom de variable dans ton code, ici le test, elle doit exister dans tous les cas. Avec un langage statique tu aurais des erreurs de compilation.

Essaie ton script en ayant au préalable exécuté ceci :
[code:1]
Set-StrictMode -Version Latest
[/code:1]
Ou vérifie ceci :
[code:1]
Set-StrictMode -off
remove-variable windows7 -ea SilentlyContinue
$windows7 -eq \"1\"

Set-StrictMode -Version Latest
$windows7 -eq \"1\"
Set-StrictMode -off
[/code:1]
Je regarde comment coder une partie de ta règle de gestion via le paramétrage.

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 4 mois #16663 par lege
Réponse de lege sur le sujet Re:condition if
la valeur de la variable $windows7 est donné via le résultat de la variable $serveur

si ce n'est pas un serveur alors $windows7 = 1
si c'est un serveur alors $windows = 0
si la valeur est vide pour $serveur alors $windows7 = 1

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

Plus d'informations
il y a 10 ans 4 mois #16666 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:condition if
Essaie cette gestion de paramètres :
[code:1]
Function Test-Param {
[CmdletBinding(DefaultParameterSetName = \"Nothing\"«»)]
param (
#Traitments
[Parameter(ParameterSetName=\"Normalisation\"«»)]
[switch] $Normalisation,
[Parameter(ParameterSetName=\"PostInstallation\"«»)]
[switch] $PostInstallation,
#Cibles
[switch] $WindowsSeven,
[switch] $Windows2008
)

$PSCmdlet.WriteDebug(\"Traitement à effectuer : $($PsCmdlet.ParameterSetName)\"«»)
if ($PsCmdlet.ParameterSetName -ne 'Nothing')
{
if ( ($WindowsSeven -and $Windows2008) -or (-not $WindowsSeven -and -not $Windows2008))
{ Throw \"Veuillez spécifier une cible et une seule.\" }

if ($WindowsSeven)
{Write-host \"$($PsCmdlet.ParameterSetName) sur WindowsSeven\"}
elseif ($Windows2008)
{ Write-host \"$($PsCmdlet.ParameterSetName) sur Windows2008\" }
else
{ }
}
else
{Throw \"Aucun paramètrage. Veuillez spécifier un traitement et une cible.\"}
} #test-param
[/code:1]
Le jeux de test :
[code:1]
test-param
test-param -WindowsSeven
test-param -Windows2008

test-param -Normalisation
test-param -Normalisation -WindowsSeven
test-param -Normalisation -Windows2008
test-param -Normalisation -WindowsSeven -Windows2008

test-param -PostInstallation
test-param -PostInstallation -WindowsSeven
test-param -PostInstallation -Windows2008
test-param -PostInstallation -WindowsSeven -Windows2008

test-param -PostInstallation -Normalisation
test-param -PostInstallation -Normalisation -WindowsSeven
test-param -PostInstallation -Normalisation -Windows2008
test-param -PostInstallation -Normalisation -WindowsSeven -Windows2008
[/code:1]
C'est du code avancé, mais c'est déjà plus lisible et maintenable. Tu peux ajouter des traitements et des cibles plus facilement qu'avec des paramètres conteant 0 , 1 et null.

Je te laisse ajouter la règle pour la désactivation du compte admin.

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 4 mois #16669 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:condition if
6ratgus écrit:

Laurent Dardenne écrit:

Combien d'utilisateur de PS peuvent expliquer toutes les informations contenu dans l'aide d'un paramètre d'un cmdlet ?

c'est vrais que pour certain get-help, il faut avoir des connaissances en informatique, en programmation, et parfois en divination car c'est pas toujours très clair !

Si tu sais en un lire un, tu sais tous les lire. Ensuite l'aide en ligne est perfectible, d'où l'ajout de la possibilité de mettre à jour les fichiers d'aide.

Je peux très bien savoir lire l'aide en ligne des cmdlets Exchange, cela ne fait pas pour autant de moi un administrateur Exchange. Par contre d'être associé avec une telle personne, là on casse la baraque !

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 4 mois #16671 par lege
Réponse de lege sur le sujet Re:condition if
<br><br>Message édité par: arsoul, à: 20/12/13 12:44

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

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