三九宝宝网宝宝教育学龄段教育

通过组策略集中控制PowerShell安全性设置

11月10日 编辑 39baobao.com

PowerShell是一种新的命令行外壳和脚本语言,用于进行系统管理和自动化。Windows PowerShell 建立在 . Framework 的基础上,可使 IT 专业人员和开发人员控制和自动完成 Windows 和应用程序的管理。

Windows PowerShell并不只是常规的脚本语言。他有内置的安全功能,以及一些额外的安全性选项,您可以根据实际情况进行设置。

1、Windows PowerShell默认安全性

在PowerShell界面下,我们刚开始使用时,可能只是运行一些简单的命令。这与安全是不相关的,只是你必须在PowerShell界面下,然后才可以做这些事情。这本身就是安全。

PowerShell中一些默认的安全性设置,可以确保任何恶意的企图能被拦截。

1.1 PowerShell不会运行不带路径的脚本

第一个默认的安全性措施:PowerShell将不会运行当前文件夹中的脚本。这样恶意脚本试图拦截cmdlets和命令名时将会失败。

例如,如果您想运行C:\文件夹中名为Example.ps1的脚本,命令行中您需要包含脚本的完整路径,即使当前目录就是在C:\Scripts文件夹中。

当您尝试运行不带路径的Example.ps1脚本时,将提示出错信息。

当你运行包括绝对路径的该脚本时,执行结果如图2所示。

1.2 所有PowerShell脚本必须实时交互才能运行

另一个默认设置:所有的脚本必须运行交互。这种安全措施,以确保Powershell脚本文件不会执行的带病毒的脚本。这同时也意味着你必须在PowerShell界面前,实时运行脚本。

这种默认设置与PowerShell中的ExecutionPolicy执行策略相关联。该ExecutionPolicy的默认执行策略时设置为Restricted。

2、对PowerShell安全策略选项进行自定义设置

PowerShell中默认的ExecutionPolicy执行策略是非常安全的。它不容许运行任何来源的任何脚本。因此,您创建的脚本,是无法运行的;从Inter上下载的脚本将无法运行;甚至经过信任发布者签名的脚本也无法运行。

因此,在运行脚本之前,我们需要重新设置ExecutionPolicy执行策略。

2.1 设置 ExecutionPolicy 执行策略选项

有四个层次的ExecutionPolicy执行策略`选项 。这四个层面为您提供很大保障,确保了哪些脚本可以运行,哪些需要与其他脚本相关联才能运行。

这四个层次的要求包括:

●Restricted:这是PowerShell的默认配置。此项设置意味着没有脚本可以运行,而不论该脚本是否经过签字认证。可以在PowerShell中运行的是单独的命令。

●AllSigned:此项设置允许PowerShell运行脚本。所有的配

这四个层次的要求包括:

●Restricted:这是PowerShell的默认配置。此项设置意味着没有脚本可以运行,而不论该脚本是否经过签字认证。可以在PowerShell中运行的是单独的命令。

●AllSigned:此项设置允许PowerShell运行脚本。所有的配置文件和脚本必须通过信任的出版商签名(trusted publisher), 这里所指的脚本页包括你在本地计算机上创建的脚本。但如果恶意脚本经过了签名的话,在PowerShell中也照样能够执行。

●RemoteSigned:此项设置允许脚本运行,但要求所有从互联网上下载的脚本必须通过信任的出版商签名(trusted publisher)。运行本地计算机中的脚本运行不需要签署。

脚本运行前,将不会有提示信息。对于签过名的恶意脚本,此安全策略仍然无法防范。

●Unrestricted:不建议设置为此项执行策略!这允许未签名的脚本运行,包括所有从网上下载的脚本和配置文件,包括通过Outlook和Messenger下载下来的文件。在执行前你都会被提示是否执行.,风险在于是运行未经签字、无法确认安全性的脚本将被允许执行。

要设置这些执行策略的选项,只需键入set-executionpolicy 。

2.2 使用组策略来集中控制PowerShell安全性设置

PowerShell功能非常强大,但如果工作环境中的电脑上无法运行脚本的话,它也是有局限性。首先,你必须在每台电脑上安装PowerShell运行环境。PowerShell运行环境的部署,只需要安装一个exe应用程序,非常容易安装。

Examda提示:您可以使用ZAP文件,使用组策略来推动它,或者您可以采取集中式方式来安装应用程序。请记住, PowerShell目前已被作为操作系统的一个升级包,因此Windows更新也可以触发安装操作。

当您安装了PowerShell运行环境之后,建议你调整执行策略,允许运行脚本。由于随着ExecutionPolicy默认值为Restricted,你需要配置每一台计算机,才能运行脚本,如果你打算手工进行设置的话,这可能需要花上几天时间。

您也可以使用组策略来替您完成这个设置。当然,你需要建立自己的管理模板(ADM文件) 实现这个功能,或者从微软站点上下载名为admFiles_PowerShell.msi的ADM模板(: .microsoft./downloads/details.aspx?FamilyID=2917a564-dbbc-4da7-82c8-fe08b3ef4e6d&DisplayLang=en&emspQuickInfoContainer)。建议采用后者的方式,下载ADM模板。

下载完成以后,你需要安装admFiles_PowerShell.msi。安装完成后, 在C:\program files\Microsoft Group Policy文件夹中就有了.ADM文件。如果没有别的,这个.ADM模板中的设置就已经非常安全!PowerShellExtensionPolicy.ADM这个文件需要导入到组策略对象编辑器。导入后,在组策略对象中将有两个新的节点:一个是puter Configuration\Administrative Templates\Windows ponents\Windows PowerShell,另一个是User Configuration\Administrative Templates\Windows ponents\Windows PowerShell,

当你去设制这个策略时,你会看到三个设置选项!

3、小结

PowerShell是配合Windows Server 2008的发布,在2008年初推出的新功能。PowerShell推出后发展迅猛。所有关注PowerShell的人,都希望PowerShell提供内置的安全性设置。现在看来,PowerShell在这点上确实不负众望:PowerShell提供了默认的安全性设置,脚本被设置为限制执行的策略。即使你用记事本创建了一个.PS1文件,该脚本是安全性很好。

即使你可以进入PowerShell界面,也必须输入脚本的路径,。

除了默认值之外,我们可以设置PowerShell的执行策略,通过组策略集中控制PowerShell,提供了PowerShell的安全。

推荐阅读
图文推荐