パラメータ(キー)を実行する際に、そのパラメータを確認する必要があります。たとえば、間違ったパラメータを設定すると、(myscript.ps1 -p1 blabla -p2 blabla)私はコンソール(間違ったタイプ)にエラーがあります。どのようにこのエラーをスローすることができますか?また、さまざまなレベルのログ(Debug、Error、Warning)を記述する必要があります。私は1つのコマンドレットStart-Transcriptを知っていますが、すべてのアクションを記述します。PowerShellスクリプトでキーを確認するにはどうしたらいいですか?
param
(
[datetime]$sleep,
[datetime]$wake_up
)
#Starting log process
Start-Transcript .\logger.txt -Append
function do_sleep()
{
if (!$sleep)
{
[datetime]$sleep = Read-Host "Input time when you go to sleep"
}
if (!$wake_up)
{
[datetime]$wake_up = Read-Host "Input time when you wake up"
}
if ($wake_up.Hour -le 8) {
Write-Host "You are lark"
}
if ($wake_up.Hour -gt 8) {
Write-Host "You are owl"
}
if ($wake_up -lt $sleep) {
$sleeping_time = ($wake_up.AddDays(1) - $sleep)
$normal_sleep = $sleeping_time.hours;
}
else {
$sleeping_time = $wake_up - $sleep;
$normal_sleep = $sleeping_time.hours;
}
if ($normal_sleep -ge 8) {
Write-Host "You slept more" $sleeping_time.Hours "hours. You are lucky man. "
}
}
do
{
try
{
do_sleep
exit
}
catch
{
Write-Host ("Wrong input. Please input data again.")
$g = 1;
}
}
while ($g -eq 1)
Stop-Transcript