powershell

http://www.pstips.net/

powershell版本

如果您的系统是window7或者Windows Server 2008,那么PowerShell 2.0已经内置了,可以升级为3.0,4.0。
如果您的系统是Windows 8 或者Windows server 2012,那么PowerShell 3.0已经内置了,可以升级为4.0。
如果您的系统为Windows 8.1或者Windows server 2012 R2,那默认已经是4.0了。

http://www.microsoft.com/en-us/download/details.aspx?id=40855  Windows Management Framework 4.0

启动 Windows PowerShell ISE  Integrated Scripting Environment

在 Windows Vista、Windows Server 2008 和更高版本的 Windows 中,在“开始”菜单中,依次单击“开始”、“所有程序”、“附件”、“Windows PowerShell”文件夹和“Windows PowerShell ISE”项。
在 Windows XP 和 Windows Server 2003 中,若要启动 Windows PowerShell,请在“开始”菜单中依次单击“开始”、“程序”、“附件”、“Windows PowerShell”文件夹和“Windows PowerShell ISE”项。
在 Windows PowerShell 控制台、Cmd.exe 或“运行”框中,键入“powershell_ise.exe”。

PowerShell中没有文件的概念,只有项【Item】的概念,像Windows驱动器、目录、文件、注册表、变量等信息都被抽象成了"项"的概念,PowerShell使用"项"来进行统一管理。本次我们只关注文件系统,即目录、文件,其他系统后续篇章再做了解。
关于文件系统的命令有如下一些:
New-Item
Copy-Item
Move-Item
Remove-Item
Rename-Item
Invoke-Item
当然,这些命令不仅仅用于文件系统,像驱动器、注册表等都可以使用,本次我们只从文件系统的角度去关注这些命令。

执行powershell脚本
PowerShell[.exe] -Help | -? | /?

Restricted——默认的设置, 不允许任何script运行
AllSigned——只能运行经过数字证书签名的script
RemoteSigned——运行本地的script不需要数字签名,但是运行从网络上下载的script就必须要有数字签名
Unrestricted——允许所有的script运行
windows默认不允许任何脚本运行,你可以使用"Set-ExecutionPolicy"cmdlet来改变的你PowerShell环境。例如,你可以使用如下命令让PowerShell运行在无限制的环境之下:
PS C:Usersfltps> Set-ExecutionPolicy Unrestricted
Set-ExecutionPolicy : 对注册表项“HKEY_LOCAL_MACHINESOFTWAREMicrosoftPowerShell1ShellIdsMicrosoft.PowerShell”的访问被拒绝。 要更改默认(LocalMachine)作用
域的执行策略,请使用“以管理员身份运行”选项启动 Windows PowerShell。要更改当前用户的执行策略,请运行 "Set-ExecutionPolicy -Scope CurrentUser"。
PS C:Usersflt> Set-ExecutionPolicy Unrestricted -Scope CurrentUser
或者输入以下命令:runas /noprofile /user:Administrator cmd
但是我的管理员账号没有密码,无法切换到administrator权限,显示无法启动服务。
看来这种通过的方法对于没有设置管理员密码的电脑还是有点问题。

使用java调用powershell脚本,可以使用以下命令:
String cmd = "cmd /c powershell -ExecutionPolicy RemoteSigned -noprofile -noninteractive -file ""
+ scriptFilename + """;

一.最通常的运行脚本的方法是调用它:
PS C:> & "C:BelfryMy first Script.ps1"  
注意: 这里的"&"操作符能允许你调用一个命令, 脚本, 或函数. 比如:
如果路径不包含任何的空格, 那么你就可以忽略引号和'&'操作符.
PS C:> C:BelfryMyscript.ps1
如果脚本就在当前路径下, 你必须使用符号"."来告诉PowerShell该脚本就在当前路径下.
PS C:> .Myscript.ps1  

二.Dot Sourcing
当使用上面的语法执行脚本的时候, 脚本中定义的变量和函数会在脚本运行结束后消失。如果你使用dot sourcing来运行脚本的时候, 所有脚本中定义的变量和函数会在脚本运行结束后依然存在。
举例运行dot-sourcing脚本.
PS C:> . "C:BelfryMy first Script.ps1"  
PS C:> . .Myscript.ps1"

====================

cmdlets是Powershell的内部命令,cmdlet的类型名为System.Management.Automation.CmdletInfo,包含下列属性和方法:

dir alias: | where {$_.Definition.Startswith("Remove")}

dir alias:获取的是别名的数组,通过where对数组元素进行遍历,$_代表当前元素,alias的Definition为String类型,因为powershell支持.net,.net中的string类有一个方法Startswith。通过where过滤集合在powershell中使用非常广泛。

====================

Powershell对象=属性+方法

在现实世界中,你可能已经了解对象就是那些能够摸到的东西。Powershell中的对象和现实生活很相似。例如要在现实生活中描述一把小刀。我们可能会分两方面描述它
属性:一把小刀拥有一些特殊的属性,比如它的颜色、制造商、大小、刀片数。这个对象是红色的,重55克,有3个刀片,ABC公司生产的。因此属性描述了一个对象是什么。
方法:可以使用这个对象做什么,比如切东西、当螺丝钉用、开啤酒盖。一个对象能干什么就属于这个对象的方法。


按Insert键设置命令行编辑模式为改写模式, 再按一次Insert键命令行返回插入模式. 当命令行处于改写模式, 你输入字符将会替代被光标高亮显示的字符. 当命令行处于插入模式(默认状态), 字符被插入到光标字符之前.
按Backspace键删除光标前一个字符(改写或插入模式). 改写模式中, 按Delete键删除高亮字符. 在插入模式, 按Delete键删除下一个字符.
按Tab键自动补全你输入的路径. 如果第一个现实的路径不是你期待的, 再一次按Tab知道正确的路径出现. 注意Tab键补全的路径只能是当前子目录中. 例如, 如果你输入了c: 然后按Tab键, 可选路径之一将会是c:windows, 而不是c:windowssystem32. 要进入结构中的下个层次(译者注: 文件系统中就是子目录), 在选择的父目录后输入反斜杠, 然后按Tab键. 例如, 如果你一直按Tab直到看见c:windows, 你可以在行尾输入一个反斜线, 然后继续按Tab键来遍历结构中的下一层.

今天为大家总结了在控制台的所有快捷键, 方便大家使用PowerShell. 实际上Cmd.exe或任何控制台都支持这些快捷键的.

按键

功能

光标向左移动一个字符

Ctrl + ←

光标向左移动一个单词

光标向右移动一个字符

Ctrl + →

光标向右移动一个单词

Home键

光标移动到行首

End键

光标移动到行尾

Delete键

删除光标指向的字符

Backspace键或Ctrl + H

删除光标左边第一个字符

Ctrl + End键

删除从光标到行尾的所有字符

Esc键

清除当前输入的所有字符

Insert键

插入与改写模式切换

Tab键

Tab键自动完成命令,例如:自动完成命令的名称、cmdlet命令的参数、路径。如果第一个提示的对象不是您期望的结果,继续输入Tab键,将会自动显示下一个候选对象。

向上查询历史命令

向下查询历史命令

F7键

显示命令历史记录,以图形列表窗的形式给出所有曾经输入的命令,并可用上下箭头键选择再次执行该命令。

F8键

搜索命令对应的历史记录,在命令上输入命令的一部分内容后,按F8键,可以得到匹配该输入的历史命令。如果有多个匹配项,重复按F8,可以循环显示所有曾经输入的命令。如果命令行为空,则默认匹配所有历史输入的命令。

F9键

按编号选择历史命令,以图形对话框方式要求您输入命令所对应的编号(从0开始),并将该命令显示在屏幕上。

Enter键或Ctrl + M

回车(Enter)

Ctrl + C

终止当前执行的命令

Ctrl + Break

终止当前执行的命令

Alt + F7键

清除所有曾经输入的命令历史记录

原文地址:https://www.cnblogs.com/createyuan/p/4191251.html