让我说我运行这个命令:
Set-WebConfigurationProperty system.web/sessionState -pspath MACHINE/WEBROOT -name regenerateExpiredSessionID -value WrongValue
我会收到以下错误,但$lastExitCode
会返回0
。
Set-WebConfigurationProperty:字符串未被识别为有效的布尔值。 在行:1 char:1
有没有办法提取更多信息性的返回代码以确保操作成功/失败?
..如果失败,要获得确切的返回码? (使用相同命令的appcmd
返回13
,ERROR_INVALID_DATA
)
答案 0 :(得分:0)
$LASTEXITCODE
包含已运行的最后一个基于Windows的程序的退出代码。
请检查$ERROR
变量。
同时阅读About CommonParameters;至少,要注意常用参数
ErrorAction
(ea
):会覆盖当前命令的$ErrorActionPreference
变量的值。ErrorVariable
(ev
):在指定变量和$Error
自动变量中存储有关命令的错误消息。汇总:以下代码段应显示FormatException
Set-WebConfigurationProperty system.web/sessionState -pspath MACHINE/WEBROOT `
-name regenerateExpiredSessionID -value $WrongValue `
-ErrorAction SilentlyContinue -ErrorVariable a
if ($a.Count -ne 0) { Write-Host $a.CategoryInfo.Reason } else { Write-Host 'Success' }