我尝试使用下一个命令加入SessionSwitch事件:
multipartFormData
适用于Windows 7,Windows Server 2008 R2和Windows Server 2012 R2上的Powershell ISE。 我锁定并解锁会话并在shell中显示“Session Changed”消息。 但是如果我在Windows Server 2012 R2上的“常见”Powershell shell中运行命令,它就不起作用。 看起来我错过了重要的事情。请告诉我我错过了什么。
“Common” - powershell.exe,Powershell ISE - powershell_ise.exe
答案 0 :(得分:0)
似乎与以下问题相同:Question about ISE vs Console with SystemEvents
解决方案是将控制台作为 MTA 而不是 STA 运行:
if ([System.Threading.Thread]::CurrentThread.ApartmentState -ne [System.Threading.ApartmentState]::MTA)
{
powershell.exe -MTA -File $MyInvocation.MyCommand.Path
return
}
查看答案了解更多详情:https://stackoverflow.com/a/60641410/1819480