switch($event.SourceEventArgs.Reason) { 'SessionLock' { $synthesizer.Speak("Bye bye $env:username!") } 'SessionUnlock' { $synthesizer.Speak("Nice to see you again $env:username!") } } } }
$ExecutionContext.InvokeCommand.CommandNotFoundAction = { # second argument is the command that was missing: $p = $args[1] # do not try and find it elsewhere $p.StopSearch = $true
$command = $p.CommandName
# output audio message (make sure your audio is turned up) $sapi = New-Object-ComObject Sapi.SpVoice $sapi.Speak("Command $command not found.") }
CommandType Name Version Source ---------------------------- FunctionDebug-FileShare2.0.0.0Storage FunctionGet-FileShare2.0.0.0Storage FunctionNew-FileShare2.0.0.0Storage FunctionRemove-FileShare2.0.0.0Storage FunctionSet-FileShare2.0.0.0Storage
事实证明,所有 URL 都能正常地访问 Microsoft WEB 服务器,并返回状态 “OK”(包括不存在的文档地址):
1
PS> New-SCode
这是因为 Microsoft WEB 服务器(与许多其它的一样)首先接受所有 URL。然后,在内部,WEB 服务器弄清楚下一步该怎么做,并将新的 URL 返回到浏览器中。可能返回的是原始的 URL(如果 WEB 服务器找到了资源),也可能是一个全新的URL,例如通用搜索站点或自定义的“未找到”通知。状态 “OK” 与 URL 的有效性并没有关联。