Windows 7新的命令行PowerShell
Win7中集成了PowerShell2.0,如今任何GUI执行的管理任务(例如控制系统,访问注册表、系统日志和数字签名证书等数据)都能通过PowerShell脚本来完成了.如果你的系统不是win7, 载安装PowerShell2.0.
一、PowerShell是何方神圣?
PowerShell是CMD的升级版,类似C++语言,提供了200多条命令、还有循环、条件、流控制和变量赋值等语言结构,可以让你创建各种复杂的脚本去完成任务。它支持完全交互式环境,也可以将多条命令写在同一个脚本文件中连续执行,脚本文件的文件扩展名为 .ps1.
直接运行ps1文件:C:\Scripts\Script.ps1
二、启动PowerShell
在Win7中点击“开始→所有程序”,在“附件”中有个Windows PowerShell,点击展开Windows PowerShell,里面有Windows PowerShell ISE和Windows PowerShell这两个选项(图1),后者是CMD那样的命令行模式界面,前者是图形化的PowerShell开发环境、包含了调试功能和交互式控制台,适合PowerShell编程的用户使用。在传统的CMD窗口中输入PowerShell回车也能启动PowerShell。
如要启动PowerShell ISE,可以点击“开始→所有程序→附件→Windows PowerShell→Windows PowerShell ISE”,这是一个集成的脚本环境(图3),里面有3个窗格,在顶部窗格中你可以练习编程创建或编辑脚本,中间是运行结果,最下方窗格中能输入运行 PowerShell命令。
三、PowerShell支持哪些命令?
四、语法与范例
下面给出一些PowerShell命令范例:
1. 运算结果存储到变量中 :运算结果存储到变量x中,
PS C:\> $x=(3-1)*2
2. 大小写转换:将字串转为英文大写字母"HELLO"
PSC:\> "hello".ToUpper()
3. 输出结果存储到临时文件: 计算结果保存到lbb.txt文件中
PSC:\>(1-2)*3/4 > c:\lbb.txt
4. 列出文件中的内容: 用type命令将文件的结果取回
PSC:\>type c:\lbb.txt
5. 访问注册表: PowerShell中,HKEY_LOCAL_MACHINE配置单元映射到 HKLM: 驱动器,而 HKEY_CURRENT_USER 配置单元映射到 HKCU: 驱动器
PSC:\> cd hklm:
PSHKLM:\> dir
由WindowsPowerShell完成的最常见的任务
1. 像文件系统那样操作Windows Registry——cd hkcu: 2. 在文件里递回地搜索某个字符串——dir –r | select string "searchforthis" 4. 循环(停止,然后重启)一个服务,如DHCP——Restart-Service DHCP 5. 在文件夹里列出所有条目——Get-ChildItem – Force 6. 递归一系列的目录或文件夹——Get-ChildItem –Force c:\directory –Recurse 7. 在目录里移除所有文件而不需要单个移除——Remove-Item C:\tobedeleted –Recurse 8. 重启当前计算机——(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(2) 12. 获取当前登录计算机的用户的用户名—— Get-WmiObject -Class Win32_ComputerSystem -Property UserName -ComputerName . 13. 获取当前计算机所安装的应用的名字——Get-WmiObject -Class Win32_Product -ComputerName . | Format-Wide -Column 1 14. 获取分配给当前计算机的IP地址——Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Format-Table -Property IPAddress 15. 获取当前机器详细的IP配置报道——Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName . | Select-Object -Property [a-z]* -ExcludeProperty IPX*,WINS* 21. 一分钟后远程关闭另一台机器——Start-Sleep 60; Restart-Computer –Force –ComputerName TARGETMACHINE |
参考:
http://www.s2.cn/news.php?id=19
http://blog.youkuaiyun.com/minsenwu/article/details/8787783