작동하지 않습니다파워 쉘 출구 내가 레지스트리 값을 확인하고 및 0 인 경우 종료 스크립트를 작성하고
if ((Get-ItemProperty -path HKLM:\SOFTWARE\ICT\LoginScript).proceed -eq 0) {
$form.close()
exit
}
(값이 1이면이 진행됩니다) 0에서 레지 값, 그것은 종료 실패하고 대신에 예외가 발생합니다 :
System.Management.Automation.ExitException: System error.
at System.Management.Automation.FlowControlNode.Execute(Array input, Pipe outputPipe, ExecutionContext context)
at System.Management.Automation.ParseTreeNode.Execute(Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context)
at System.Management.Automation.StatementListNode.ExecuteStatement(ParseTreeNode statement, Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context)
at System.Management.Automation.StatementListNode.Execute(Array input, Pipe outputPipe, ArrayList& resultList, ExecutionContext context)
...
스크립트를 윈도우 폼을 사용하고 - 그와 관련이 있는지 확실하지 않습니다?
편집 : 시험 다음에 스크립트를 감소
:
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$Form = New-Object System.Windows.Forms.Form
$Form.Add_Shown({ $Form.Activate(); start-sleep -s 3; exit; $form.close() })
$Form.ShowDialog()
그리고이 여전히 오류가 있습니다. Windows가 아닌 양식에 start-sleep -s 3; exit
코드를 실행하면 문제가 Windows Forms에 묶여있는 것처럼 보입니다. exit
지정
감사합니다,
벤
Get-ItemProperty는 무의미한 것 같습니다. 내 테스트에서 올바르지 만 (경로를 찾을 수없는 경우 던져 버릴지라도). 문제는 $ form.close()라고 생각합니다. 더 많은 것을 표시해야합니다 ($ form이 선언 된 방법 등). – TrueWill
문제를 재현 할 수있는 전체 스크립트를 게시 할 수 있습니까? 여전히 문제를 재현하여 여기에 게시하는 최소한의 예제를 작성하십시오. 또한 명령 줄 (즉, 스크립트 파일이 아닌)을 통해 모든 것을 실행하고이 오류가 계속 발생하면보고하십시오. –
위의 편집을 참조하십시오 - Windows 양식과 오류가있는 것 같습니다? – Ben