TUTOS.EU

Passage de parametres

Passage de parametres en ligne de commande

Avec la méthode officielle, on déclare les paramètres au début du script ainsi :

param ([string]$CheminFichier)
Lien vers le fichier : cliquez ici Copier le code

Ensuite on utilise le paramètre ainsi :

MonScriptPowershell.ps1 -CheminFichier "E:\UnFichier.txt"
Lien vers le fichier : cliquez ici Copier le code

On peut alors disposer de la valeur :

Write-Host "Valeur du paramètre : $CheminFichier"
Lien vers le fichier : cliquez ici Copier le code

Voici une autre methode simple

#Version du 9 janvier 2013

# au moins un argument est requis
if ($args.Length -eq 1)

{
	# Affiche le premier paramètre
	Write-Host $args[0]
}
Lien vers le fichier : cliquez ici Copier le code

Et ici une méthode alternative plus complexe

#Version du 30 mars 2012

clear-host
#Definition de 2 variables globales
$global:MyVar01 = ""
$global:MyVar02 = ""

Function ParseCommand($oArgs){

	#Parses the command line and fills the script variables 
	#with the appropriate values.

#	$test = "-n,test"
#	$oArgs = $test.split(",")
	$ArgCount = 0
	if (!$oArgs.length -gt 0){
		write-host "No arguments specified."
	}

	While ($ArgCount -lt $oArgs.length){
		switch ($oArgs[$ArgCount].ToLower()){
			"-n"{
				$global:MyVar01 = $oArgs[($ArgCount+1)]
				$ArgCount = ($ArgCount + 2)
				write-host "-n : $MyVar01"
			}

			"-p"{
				$global:MyVar02 = $oArgs[($ArgCount+1)]
				$ArgCount = ($ArgCount + 2)
				write-host "-p : $MyVar02"
			}

			default{
				write-host "Invalid command."
#				Help
				exit			
			}
		}
	}
}

#Parse commands
ParseCommand($args)

$VIserver = $MyVar01
$VMName = $MyVar02
#$SnapshotName

write-host "Le 1 : $VIserver"
write-host "Le 2 : $VMName"
Lien vers le fichier : cliquez ici Copier le code

2