详解Win Server2008 R2中的PowerShell[Windows安全]
本文“详解Win Server2008 R2中的PowerShell[Windows安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在Windows Serve 2008 R2中,一个重要改良就是PowerShell版本进级为2.0.Win 2008 R2包含一系列新的服务器管理界面,这些均成立在PowerShell 2.0之上.它新增了240个cmdlets号令集,新的PowerShell图形用户界面也增添了开辟功效,从而用户能更简单成立自己的号令行.并且,PowerShell将可以安装到Windows服务器内核.本文将介绍PowerShell 2.0的ISE以及加强的远程功效.
Windows PowerShell是专门为系统管理员计划的一个Windows号令行Shell,包含一个交互式的DOS气势号令行窗口和一个脚本环境,可以独立或结合利用.与大大都接纳和发送文本信息的Shell差别,Windows PowerShell是成立在.NET common language runtime和.NET Framework底子之上,接纳和答复.NET对象.这样的特点为Windows的管理和配置供应了新的工具和办法.
PowerShell
Windows PowerShell中的一个重要概念就是“cmdlet”,一个构建在Shell的简单的、单一功效的号令行工具.用户可以独立的利用此中的号令,但是其作用依靠于利用的任务和环境.Windows PowerShell包含超越100条的基本号令行,并且用户可以自行编写号令行并同享给其他的用户.
和大大都Shell类似,Windows PowerShell让你有权拜候计算机的文件系统,此外,Windows PowerShell可以让你拜候其他存储数据,如注册表和数字签名证书等,就像拜候文件系统一样简单.
Windows Server 2008 R2中的PowerShell进级到2.0,引入了很多新的特点,如远程管理、完好的脚本环境、Debug工具等等,下面我们来具体理解一下PowerShell V2中ISE和加强远程功效的新特点.
1、集成的脚本环境ISE(Integrated Script Environment)
关于PowerShell的一个基本要求就是可以简单的编写和调试PowerShell脚本,PowerShell v2捆绑了一个集成的脚本环境ISE(Integrated Script Environment),使得编写PowerShell脚本越发简单,ISE包含了一个脚本面板、一个输出头板和一个号令行面板.
ISE面板
ISE的号令行面板和PowerShell号令行面板非常近似,用户可以在里面敲入号令,并通过回车来履行号令.号令的履行后果会显示在输出头板中,可以清楚的跟踪之前全部号令履行的后果.顶部的脚本面板可以用来编写和调试脚本,脚本面板支持多个脚本共同操作,操作便捷.
为了帮忙用户调试脚本,ISE答应用户用多种方法设置调试中止点(breakpoint),可以手动设置,大概在某一特别条件下自动设置,后者供应了更好的操作体验.在设置中止点的号令中,用户需求指定调试脚本的名称和坐标.
Set-PSBreakpoint .\[Script-File-Name].ps1 -line X
假如要设置多此中止点,指定坐标的时刻需求用逗号离隔,如
Set-PSBreakpoint .\[Script-File-Name].ps1 -line X,Y,Z
假如要在调用特定函数时设置中止点,需求用到Set-PSBreakpoint号令,和-Command参数,以及函数名称:
Set-PSBreakPoint -Command [Name-Of-Function]
ISE的调试器还可以在读写一个特定变量时设置中止点,下面是在读写变量时设置中止点的号令:
Set-PSBreakpoint -Variable [Variable-Name] -mode read Set-PSBreakpoint -Variable [Variable-Name] -mode write
中止点被设置后具有唯一的标识符,可以通过Disable-PSBreakpoint号令,删除标识符来删除中止点:
Disable-PSBreakpoint X
2、PowerShell v2的远程功效加强
PowerShell v2的另一个重要特点是远程操作本领(PowerSell remoting)的加强,增添了新的号令行Invoke-Command.需求注意的是,PowerSell remoting目前只能支持运行Vista SP1、Windows Server 2008以及Windows 7的计算机,并且需求安装呼应版本的远程管理工具WinRM.这意味着用户只能通过PowerShell remoting衔接安装PowerShell v2和WinRM的Vista SP1/Win 2008计算机,并不支持Vista(只能安装PowerShell)和WinXP系统的计算机.
PowerShell v2系统要求和改良
在PowerShell 2.0的CTP预公布版本中,Invoke-Expression号令用来衔接远程计算机:
Invoke-Expression –computerName atl-fs-001 –command Get-Process
而假如用户想运行远程计算机atl-fs-001 上的Get-Process号令,可以采取新的Invoke-Command号令:
Invoke-Command –computerName atl-fs-001 –scriptblock
可以看到两个号令中基本参数是一样的,PowerShell团队用Invoke-Command替换了Invoke-Expression号令,用–scriptblock参数替换了–command,固然在号令上看到窜改并不多,但增长了远程操作的安定性、安全性和性能.
当然,这条号令还可以支持多台远程计算机,假如需求从远程计算机atl-fs-001, atl-fs-002, 和atl-fs-003上得到进程信息,可以利用号令:
Invoke-Command –computerName atl-fs-001, atl-fs-002, atl-fs-003 –scriptblock
支持多台远程计算机
和Invoke-Expression号令一样,Invoke-Command可以衔接远程计算机,运行号令,但会当即失去衔接.假如需求和远程计算机的一个持续衔接,可以通过号令成立一个PowerShell会话:
$objRunspace = New-Runspace atl-fs-001, atl-fs-002, atl-fs-003
假如需求得到更多有关Invoke-Command号令的信息,可以通过下面这个号令得到阐明和典范:
Get-Help Invoke-Command –full | more
【付林】
以上是“详解Win Server2008 R2中的PowerShell[Windows安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |