Режим ограниченного языка включен в Powershell по умолчанию? в последней сборке Windows 10 FCU, обновленной
2 ответа
3
Нет, вы можете перевести сеанс PowerShell в режим ограниченного языка, просто установив свойство:
PS C:\> $ExecutionContext.SessionState.LanguageMode
FullLanguage
PS C:\> $ExecutionContext.SessionState.LanguageMode = "ConstrainedLanguage"
PS C:\> $ExecutionContext.SessionState.LanguageMode
ConstrainedLanguage
PS C:\> [System.Console]::WriteLine("Hello")
Cannot invoke method. Method invocation is supported only on core types in this language mode.
At line:1 char:1
+ [System.Console]::WriteLine("Hello")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : MethodInvocationNotSupportedInConstrainedLanguage
Для получения более подробной информации прочитайте этот официальный документ: что такое PowerShell Constrained Language? https://blogs.msdn.microsoft.com/powershell/2017/11/02/powershell-constrained-language-mode/
1
Вы также можете контролировать это через переменную __PSLockdownPolicy env. Значение 0 приведет к FullLanguage, а значение 4 сместит его в ConstrainedLanguage.