手机
当前位置:查字典教程网 >脚本专栏 >PowerShell >Powershell在一个会话中只允许执行指定命令的方法
Powershell在一个会话中只允许执行指定命令的方法
摘要:支持所有PS版本Powershell处理可执行程序(如EXE)类似其它语言。然而你也可以让PS阻止执行任何程序或仅允许执行授权文件。默认是允...

支持所有PS版本

Powershell处理可执行程序(如EXE)类似其它语言。然而你也可以让PS阻止执行任何程序或仅允许执行授权文件。

默认是允许执行任何程序:

复制代码 代码如下:

PS> $ExecutionContext.SessionState.Applications

*

下面将授权PS只允许执行ping.exe和regedit.exe命令。

复制代码 代码如下:

$ExecutionContext.SessionState.Applications.Clear()

$ExecutionContext.SessionState.Applications.Add('ping.exe')

$ExecutionContext.SessionState.Applications.Add('regedit.exe')

请看结果:

复制代码 代码如下:

$ExecutionContext.SessionState.Applications

ping.exe

regedit.exe

比如,我此时执行ipconfig时就应当报错:

复制代码 代码如下:

PS> ipconfig

ipconfig : 无法将“ipconfig.exe”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请

确保路径正确,然后再试一次。

所在位置 行:1 字符: 1

+ ipconfig

+ ~~~~~~~~

+ CategoryInfo : ObjectNotFound: (ipconfig.exe:String) [], CommandNotFoundException

+ FullyQualifiedErrorId : CommandNotFoundException

当然,你也可以还原到初始设置:

复制代码 代码如下:

$ExecutionContext.SessionState.Applications.Add('*')

PS> explorer

PS>

所以,它能较好的防止EXE的执行(或意外执行非法EXE),使用它作为一种安全模式,你就可以关闭。当关闭了它,你将不能执行访问.net对象,于是在当前会话你将不能在恢复这些设置。

【Powershell在一个会话中只允许执行指定命令的方法】相关文章:

PowerShell使用枚举变量定义带智能提示功能的函数参数

PowerShell中使用Out-File把字符串或运行结果保存到文件的方法

PowerShell获取Windows用户列表、用户信息的方法

PowerShell脚本实现创建桌面快捷方式的方法

PowerShell中把IP转换为长整形数字的方法

PowerShell获取系统环境变量的方法

PowerShell移动目录中指定文件的方法(非全部文件)

PowerShell中执行Javascript的方法示例

PowerShell读取文本文件指定行内容的方法

PowerShell函数参数用星号隐藏的方法

精品推荐
分类导航