RSS

Tag Archives: powershell

[Powershell] Fonction Question/Réponse booléenne

Voici une fonction Powershell qui vous permet de poser une question à l’utilisateur du script afin d’obtenir une réponse booléenne à cette dernière. Cela afin de valider un choix, un statut, une action, etc …

Function Get-BoolChoice
{
    <# .SYNOPSIS        
              Function to get the boolean choice of the user about a question            
          .DESCRIPTION
              This function ask the question to the user and wait the choice of the user between 'y' ($true) and 'n' ($false). 
              When the user choices a right option, the function returns the boolean choice : True ($true) if it is 'y', False ($false) if it is 'n'
          .EXAMPLE 
              Get-BoolChoice("Do you want to continue [y/n] ?")
          .PARAMETER
              question The question asked to the user
              defaultValue The default value used if the user type 'Enter' without any other character (Range values are [yYnN])
          .OUTPUTS 
              System.Boolean. Get-BoolChoice return the bool equivalent of the user choice. True ($true) if the user choice 'y', otherwise False ($false) 
    #>;
    [CmdletBinding()]
    param (
        [Parameter(Mandatory=$True, HelpMessage='What is the question you want to ask ?')]
        [string]$question,
        [Parameter(Mandatory=$False, HelpMessage='What is the default value if user just hit Enter ?')]
        [ValidatePattern("[ynYN]")]
        [string]$defaultValue
    )

    begin {
    }

    process {
        $boolChoicesArr = "y","n"
        do
        {
            if(!($defaultValue -eq "")){
                $boolChoice = Read-Host -Prompt ("{0} [y/n] {1}" -f $question, " (default '{0}')" -f $defaultValue)
            } else {
                $boolChoice = Read-Host -Prompt ("{0} [y/n]" -f $question)
            }

        }
        until(($boolChoicesArr -contains $boolChoice) -or (($boolChoice -eq "") -and !($defaultValue -eq "")))

        Write-Verbose ("The bool choice : {0}" -f $boolChoice)

        return ($boolChoice -eq 'y') -or ($boolChoice -eq "" -and $defaultValue -eq 'y')
    }
}

J’espère que cela vous aidera dans vos développement de scripts Powershell

 

Posted by on 6 décembre 2013 in Codes, Powershell

Leave a comment

Tags: ,

[Powershell] Créer un raccourci sur le Bureau

Voici une petite fonction en Powershell qui vous permet de créer un raccourci d’un applicatif ou autre sur votre bureau

Function CreateShortcut
{
    param (
        [Parameter(Mandatory=$True, HelpMessage='What is the name of the shorcut you want ?')]
        [Alias("sn")]
        [string]$shorcutName,
        [Parameter(Mandatory=$True, HelpMessage='What is the path of the software/command to link ?')]
        [Alias("p")]
        [string]$path        
    )
    
    begin {}
    
    process {
        $shell = New-Object -comObject WScript.Shell
        $shortcut = $shell.CreateShortcut(("$HomeDesktop{0}.lnk" -f $shorcutName))
        $shortcut.TargetPath = $path
        $shortcut.Save()
    }
}

Libre à vous d’en faire bon usage 😉

 

Posted by on 5 décembre 2013 in Codes, Powershell

Leave a comment

Tags: , ,