星期三, 十一月 15, 2006

Windows PowerShell 1.0 发布

      周二,,在巴塞罗那的 IT 论坛上,微软发布了 Windows PowerShell。PowerShell 是微软的下一代命令解释器的 Shell 程序,能够让管理员自动化和控制 Windows 桌面及服务器。

      PowerShell 原来的开发代号是 Monad,原计划是用以替代 Windows 中的命令行工具,但是后来微软说它只是技术上的扩充。使用 PowerShell,管理员可以做任何在图形界面下所做的事情。

      Windows PowerShell 1.0 可以运行在 Windows XP SP2、Windows Server 2003 和 Windows Vista上。

      下载页面: Windows PowerShell 1.0

Windows PowerShell 1.0

      下面给大家介绍一下 Windows PowerShell 的12项酷功能。

1. 内置Cmdlets (即"commandlets")

Windows PowerShell中的所有Cmdlets都允许这样的动名词:get-service, get-process, stop-service, get-wmiobject.

2. 强大的通配符和操作对象

要得到以w开头的服务及其依赖服务只要输入:

PS> get-service w* | format-list DisplayName, DependentServices

3. 在犯错误前测试命令

Windows PowerShell 有意向独特的功能:Whatif ,可以不执行命令就告诉你命令执行结果.如:

PS> stop-service w3* -whatif

4. 获取副本

PowerShell 可以开始和结束所有命令的副本,可以在脚本中轻易测试命令并同时保存.

PS> Start-Transcript -Path c:demodfoshow.txt
PS> Stop-Transcript

5. 从命令行发布Windows对话

因为Windows PowerShell位对象而优化,可以向.NET  Framework一样从命令行访问COM对象,下列命令告诉你的Vista机器发表"Windows Vista and PowerShell"字串.

PS> $spVoice = new-object -com "SAPI.spvoice"
PS> $spVoice.Speak("Windows Vista and PowerShell")

6. 使用Windows PowerShell访问诸如Windows Media Player 11等的应用程序

PS> $band = "The Posies"
PS> $player = New-object -com wmplayer.ocx
PS> $playlist = $player.mediacollection.getbyauthor($band)
PS> $player.openPlayer($playlist.item(0).sourceurl)

7. Windows PowerShell作为命令行存储计算器

PowerShell可以完成基本的计算工作

PS> 2*2

不过,Windows PowerShell也可以快速解决存储问题,例如,备份11GB的数据需要多少个700MB的CD.

PS> 11gb/700mb

那么,需要多少个1000GB的存储来备份每个320GB,共425个的Vista桌面呢?

PS > (320gb*425)/1000GB

8. PowerShell 用作日历计算

计算多少天到新年:

PS> ([DateTime]"1/1/2007" -[datetime]::now).days

9. 返回机器上某种类型文件的数量

Windows Vista有许多类型的事件记录和组策略文件等.下列命令是返回当前目录及其子目录中VBScript, Bat 和 PowerShell 脚本的数量:

PS> dir -include *.vbs, *.ps1, *.bat -recurse | group-object extension -noelement

10. 从命令行收集Windows System Assessment Tool数据

PS> get-wmiobject win32_winsat | format-table __SERVER, *SCORE -autosize
PS> get-wmiobject win32_winsat | select *score | out-chart -Title "System Assessment Scores by PowerGadgets"

11. 配置UAC(User Account Control)

PS> set-itemproperty -path HKLM:SOFTWAREMICROSOFTWINDOWSCurrentVersionPoliciesSystem -name ConsentPromptBehaviorAdmin -value 0

12. 管理BitLocker

PS > $drives = get-wmiobject -namespace rootCIMv2SecurityMicrosoftVolumeEncryption -class Win32_EncryptableVolume
PS> $drives | format-table DriveLetter, PersistentVolumeID -autosize
PS> $BitLockDrive = $drives[0]
PS> $BitLockDrive.GetProtectionStatus()
PS> $BitLockDrive.DisableKeyProtectors()
PS> $BitLockDrive.EnableKeyProtectors()

没有评论: