我需要验证我的参数(键),当我运行它。例如,当我设置错误的参数看起来像(myscript.ps1 -p1 blabla -p2 blabla)我在控制台(错误类型)中有错误。我该如何抛出这个错误?另外,我需要在不同级别写入日志(Debug,Error,Warning)。我只知道一个cmdlet开始 - 转录,但它会写入所有操作。如何在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