Windows Server 2012 R2引入了新版本的PowerShell,PowerShell 4.0版本让人感觉终于成熟了,事实证明该版本携带了很多有助于管理员的新功能,包括更改默认执行政策和一些新的参数。
期望状态配置
PowerShell 4.0最大的变化是引入了新的Windows PowerShell期望状态配置,该机制通过集中管理执行类似功能的电脑,来控制电脑的配置方式。
期望状态配置功能是完全基于PowerShell的——没有GUI界面。要使用该功能,管理员必须专门针对计算角色或功能创建一个PowerShell脚本。该脚本定义了节点应该应用哪些配置,节点上需要安装的角色和其他配置数据。
脚本运行时创建微软操作框架(MOF)文件。这时,MOF文件可以配置指定的节点。MOF文件是一个用来转移Windows管理规范设置或计算机之间WMI对象的机制。
默认执行政策的改变
微软做出的第一个比较大的变化就是改变默认执行政策。以前所有PowerShell版本默认禁用执行政策。过去,PowerShell脚本不能运行,除非管理员选择运行不同的执行政策。
PowerShell 4.0的默认执行政策在Windows Server 2012 R2中是远程登录的。但Windows 8.1仍是禁用的。这意味着Windows服务器管理员不必改变执行政策,只要脚本是署名的,就能运行PowerShell脚本。Windows 8.1将继续禁用执行策略,以减少用户受PowerShell脚本攻击的机会。
PowerShell 4.0参数
微软还添加了许多新的PowerShell 4.0参数,包括RepeatIndefinitely。另外微软还创建了RunNow参数,与Register-ScheduledJob和Set-ScheduledJob cmdlets关联。该参数简化了预定任务的立即执行过程。
另一个新参数PipelineVariable,对构建PowerShell脚本的管理员尤其有用。PipelineVariable参数建立在建筑的概念之上,将一系列管道命令结果放到一个变量。PipelineVariable作为常见的PowerShell参数。这个变量的内容之后可以在脚本中引用。
另一个有用的新参数Passthru用于创建PowerShell脚本,它允许PowerShell显示任何通过命令已修改的对象,Passthru参数在Enable-JobTrigger和Disable-JobTrigger cmdlets中使用。
PowerShell 4.0最初只兼容Windows Server 2012 R2和Windows 8.1,但有传言称4.0版本最终会兼容一些早期的Windows版本。
你可以下载PowerShell 4.0预览版作为Windows管理框架预览的一部分;但是要注意,Windows管理框架安装时与Exchange服务器、SharePoint服务器、Windows小企业服务器和一些系统中心产品有严重的兼容性问题。微软可能会在未来发布补丁来解决这些不兼容性.