Question [résolu]condition if

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

mais ce que j'essaye de faire c'est appeler le script B sans que la commande qui le permet soit dedans

il faudrait que j'exécute la commande à partir d'un powershell pour appeler le script B

Je n'ai pas compris, peux-tu reformuler ?

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 3 mois #16693 par lege
Réponse de lege sur le sujet Re:condition if
script A

[code:1]
c:\users\toto\scriptB.ps1 test-param -Normalisation -Windows2008
[/code:1]


Le script A et le Script B sont totalement indépendant de l'un et de l'autre

Les valeurs normalisation et windows2008 est \"injecté\" dans le script B

script B

[code:1]
Function Test-Param {
[CmdletBinding(DefaultParameterSetName = \"Nothing\"«»)]
param (
#Traitements
[Parameter(ParameterSetName=\"Normalisation\"«»)]
[switch] $Normalisation,
[Parameter(ParameterSetName=\"PostInstallation\"«»)]
[switch] $PostInstallation,
#Cibles
[switch] $WindowsSeven,
[switch] $Windows2008
)

$PSCmdlet.WriteDebug(\"Traitement à effectuer : $($PsCmdlet.ParameterSetName)\"«»)
if ($PsCmdlet.ParameterSetName -eq 'Nothing')
{Throw \"Aucun paramètrage. Veuillez spécifier un traitement et une cible.\"}

if ( ($WindowsSeven -and $Windows2008) -or (-not $WindowsSeven -and -not $Windows2008))
{ Throw \"Veuillez spécifier une cible et une seule.\" }

if((($Windows2008) -and ($Normalisation -or $PostInstallation)))
{
$user = [adsi]\"WinNT://$env:computername/administrateur\"
$user.UserFlags.value = $user.UserFlags.value -bor 0x0002
$user.CommitChanges()
}

}
[/code:1]

Message édité par: arsoul, à: 20/12/13 16:30<br><br>Message édité par: arsoul, à: 20/12/13 16:38

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

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

Le script A et le Script B sont totalement indépendant de l'un et de l'autre

Ok. Et donc ?

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 3 mois #16695 par lege
Réponse de lege sur le sujet Re:condition if
aspirine :laugh:

quand j’exécute le scriptA, le compte administrateur n'est pas désactivé.

voila où je veux en venir

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

Plus d'informations
il y a 10 ans 3 mois #16696 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:condition if
Je pense avoir compris ce qui te gêne, le dernier code d'exemple comprend l'appel ET le script.
Il faut le comprendre comme ceci :
[code:1]
@'
#scriptB
[CmdletBinding(DefaultParameterSetName = \&quot;Nothing\&quot;«»)]
param (
#Traitements
[Parameter(ParameterSetName=\&quot;Normalisation\&quot;«»)]
[switch] $Normalisation,
[Parameter(ParameterSetName=\&quot;PostInstallation\&quot;«»)]
[switch] $PostInstallation,
#Cibles
[switch] $WindowsSeven,
[switch] $Windows2008
)

$PSCmdlet.WriteDebug(\&quot;Traitement à effectuer : $($PsCmdlet.ParameterSetName)\&quot;«»)
if ($PsCmdlet.ParameterSetName -eq 'Nothing')
{ Throw \&quot;Aucun paramètrage. Veuillez spécifier un traitement et une cible.\&quot; }

if ( ($WindowsSeven -and $Windows2008) -or (-not $WindowsSeven -and -not $Windows2008))
{ Throw \&quot;Veuillez spécifier une cible et une seule.\&quot; }

if(($Windows2008 -and ($Normalisation -or $PostInstallation)))
{
$user = [adsi]\&quot;WinNT://$env:computername/administrateur\&quot;
$user.UserFlags.value = $user.UserFlags.value -bor 0x0002
$user.CommitChanges()
}
@'&gt; c:\temp\ScriptB.ps1
[/code:1]
Je pensais qu'après tout ces échanges tu aurais fait le découpage toi même. Surtout que le code ainsi enregistré aurait provoqué un dépassement de pile.

Ce qui est évident pour les uns ne l'est pas forcément pour d'autres...<br><br>Message édité par: Laurent Dardenne, à: 20/12/13 16:50

Tutoriels PowerShell

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

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

aspirine :laugh:

Un double pour moi !!
arsoul écrit:

quand j’exécute le scriptA, le compte administrateur n'est pas désactivé.

Utilise des traces et revoit ça lundi ;)

Tutoriels PowerShell

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

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