我在连接到 live@edu 的 olSync 服务器上使用 PowerShell 2.0。我正在尝试使用 try/catch 语句。
为了在 live@edu 服务器上运行,我们必须运行一个使用 Import-PSSession 命令的脚本。
我遇到的问题是,在我连接到另一个会话之前,try/catch 语句可以完美运行,但是在我连接之后,错误并没有被捕获并且像正常情况一样显示。
(我所说的完美工作的意思是他们没有出现,而我对用户更友好的回应显示)
我错过了什么?我只是对 PSSession 命令不够了解吗?
连接代码(出于显而易见的原因,我没有包含凭据)
$Session = New-PSSession -ConfigurationName Microsoft.Exchange
-ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred
-Authentication Basic -AllowRedirection
Import-PSSession $Session
我正在测试的示例代码
$count = 0
$name = "quit"
$x
do
{
try
{
$name = Read-Host 'What is the username?'
$x = get-mailbox $name
write-host $x
}
catch
{
Write-Host "Oh No!`n $error[0].exception"
$count++
}
}
while ($name -ne "quit")
write-host "$count errors happened"
输出连接时
What is the username?: test
test, test
What is the username?: test2
The operation couldn't be performed because object 'test2' couldn't be found on ...
What is the username?: quit
The operation couldn't be performed because object 'quit' couldn't be found on ...
0 errors happened
test
.
未连接时输出
用户名是什么?:测试
哦不!
术语“get-mailbox”未被识别为 cmdlet、函数、脚本文件、> 或可运行程序的名称。检查名称的拼写,或者如果包含路径,
请验证路径是否正确并重试。术语“get-mailbox”
未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。
检查名称的拼写,或者如果包含路径,请验证
路径是否正确并重试。[0].exception