Powershell最初被禁用。为什么一个谨慎的管理员会争辩让它被禁用?

时间:2011-08-03 00:33:45

标签: powershell

默认情况下,Powershell最初被禁用,可能是出于安全原因。

当我要求启用它以便我可以使用它时,管理员谨慎采取可能使服务器更易受攻击的操作,因此,它未启用,我等待。

虽然微软在安全方面有一个糟糕的记录,并且让一个功能被禁用可能在理论上更安全,启用它,但这与任何事情都有关系。

Powershell本质上是否更危险,它应该比任何其他Windows脚本语言更令人担心?

2 个答案:

答案 0 :(得分:6)

Powershell具有额外的安全和安全功能。查看执行政策 - http://msdn.microsoft.com/en-us/library/dd347641.aspx(或运行get-help about_execution_policies

  

脚本编写是一个非常强大的工具,但它可能被滥用于恶意软件   目的。保护用户数据和操作的完整性   系统,Windows PowerShell包括几个安全功能   这是执行政策。

http://msdn.microsoft.com/en-us/library/bb648601(v=vs.85).aspx

因此,默认情况下,您不能双击脚本,在控制台中输入它们以运行它们。您可以控制是否可以执行脚本以及脚本的类型。

此外,使用Powershell,您将无法编写/运行您没有管理员设置权限的命令。例如,如果您无法从GUI关闭防火墙,因为您没有必要的权限,那么您也无法从Powershell执行此操作。

Powershell还借鉴了其他地方的安全最佳实践。您只能通过提供脚本名称或exe名称来执行不在路径中的脚本或其他可执行文件。你必须使用类似.\script.ps1的东西 - 才能运行它。这是因为与CMD不同,当前目录不在路径中,就像你在* nix中看到的那样。这可以确保放在当前目录中的任何恶意脚本都不能覆盖像dir这样的内置命令并导致有害影响。

答案 1 :(得分:4)

除了@manojlds指出一篇好的文章要结账之外。

唐·琼斯这样说:“It is no more dangerous than anything else。”

PowerShell的安全性实际上可以由组策略控制(提到的那些执行策略@manojlds)。当你到达Window Server 2008 R2时,你会默认启用它。然后,许多Microsoft产品现在正在安装它并为您启用它(Exchange 2010,SharePoint 2010,SQL Server 2008 R2)。我不得不说微软已经通过PowerShell大大改善了他们的跟踪记录。