Skip to main content

InputSample


param(
[Parameter(Mandatory=$true, Position=0)] [String] $userName,
[Parameter(Mandatory=$true, Position=1)] [String] $passWord
)

exit

function GetStringValue([String]$title)
{
Write-Host $title
$inputString = Read-Host -prompt " -> Ohne Eingabe wird das Script abgebrochen!"
if ( ($inputString -eq $null) -or ($inputString -eq "") -or ($inputString -eq " ")) { return "" }
else { return $inputString }
}

function EnsureStringValueOrAbort([String]$ensureValue, [String]$title )
{
if ( -not $ensureValue ) {
Write-Host $title
$ensureValue = Read-Host -prompt " -> Ohne Eingabe wird das Script abgebrochen!"
if ( ($ensureValue -eq $null) -or ($ensureValue -eq "") -or ($ensureValue -eq " ")) {
Write-Host "cancelled"
exit 1
}
else { return $ensureValue }
}
}

function EnsureStringValueOrDefault
{
Param
(
[Parameter(Mandatory=$true, Position=0)]
[string] $EnsureValue,
[Parameter(Mandatory=$true, Position=1)]
[string] $DefaultValue,
[Parameter(Mandatory=$true, Position=2)]
[string] $Title
)
Write-Host "`$EnsureValue value: $EnsureValue -> `$ID DefaultValue: $DefaultValue -> `$Title value: $Title"
}

function Get-Something
{
Param
(
[Parameter(Mandatory=$true, Position=0)]
[string] $Name,
[Parameter(Mandatory=$true, Position=1)]
[int] $Id
)
Write-Host "`$Name value: $Name -> `$ID value: $Id"

}

Get-Something -Id 34 -Name "Blah1"
Get-Something "Blah" 345


Function Test([string]$arg1, [string]$arg2)
{
Write-Host "`$arg1 value: $arg1"
Write-Host "`$arg2 value: $arg2"
return "Hello"
}

$x = Test "ABC" "DEF"
Write-Host $x

Write-Host "before EnsureStringValueOrDefault"
$passWord = EnsureStringValueOrDefault "nunun" "hallo" "Bitte geben Sie ein Passwort an."
Write-Host "after EnsureStringValueOrDefault"
Write-Host $userName

exit
Write-Host "before"
$userName = EnsureStringValueOrAbort($userName, "Bitte geben Sie einen Benutzername an.")
Write-Host "after"
Write-Host $userName