若要从“开始”菜单启动 Windows PowerShell,请依次单击“开始”、“所有程序”、Windows PowerShell 1.0 和 Windows PowerShell。
powershell |
powershell |
powershell -? |
get-help
本节介绍使用 Windows PowerShell 的基本知识。首先介绍 Get-Help cmdlet,该 cmdlet 显示有关 Windows PowerShell 中 cmdlet 和概念性主题的信息。然后,介绍几个基本的 cmdlet,说明如何使用 cmdlet 参数,然后说明如何设置 cmdlet 输出的格式以获取有用显示中所需的数据。最后的主题说明如何使用别名以便更容易地使用 Windows PowerShell,如何在 Windows PowerShell 中运行传统的 Windows 程序,以及如何管理错误。
Get-Help cmdlet 是用于了解 Windows PowerShell 的有用工具。通过阅读 cmdlet 的说明、了解有关概念并浏览语言主题,您可以开始了解如何使用 Windows PowerShell 了。
感兴趣的第一个主题可能是帮助系统。若要显示有关 Windows PowerShell 中帮助系统的信息,请键入:
get-help |
若要显示 cmdlet 的帮助的最简单视图,请键入“get-help”,后跟该 cmdlet 的名称。例如,若要获取 Get-Command cmdlet 的帮助,请键入:
get-help get-command |
get-help about_signing |
get-help get-command -detailed |
get-help get-command -full |
get-help get-command -examples |
get-help get-command -parameter totalcount |
get-help get-command -parameter * |
man get-command |
help get-command |
get-help get-*
有关 Windows PowerShell 中概念的帮助以“about_”开头。若要显示有关 Windows PowerShell 概念的帮助,请键入“get-help”,后跟概念名称。例如,若要获取有关通配符的帮助,请键入:
get-help about_wildcard |
get-help about_* |
cmdlet(读作“command-let”)是一个内置到外壳程序中的简单的单一功能命令行工具。可以就像使用传统的命令和实用工具那样使用 cmdlet。首先在 Windows PowerShell 命令提示符下键入 cmdlet 的名称。Windows PowerShell 命令不区分大小写,因此可以用任意大小写键入。
例如,可以尝试 Get-Date cmdlet:
C:\PS> get-date 2005 年 11 月 10 日,星期四,下午 4:43:50 |
PS> get-command CommandType Name Definition ----------- ---- ---------- Cmdlet Add-Content Add-Content [-Path] Cmdlet Add-History Add-History [[-InputObject] ... Cmdlet Add-Member Add-Member [-MemberType] ... … |
Get-Command cmdlet 还获取除 cmdlet 之外的命令和命令元素,其中包括在 Windows PowerShell 中可用的别名(命令昵称)、函数和可执行文件。
通过使用 Get-Command 的 Name 参数,以下命令列出了在 Windows PowerShell 中可用的可执行文件。
PS> get-command *.exe CommandType Name Definition ----------- ---- ---------- Application 000StTHK.exe C:\WINDOWS\system32\000StTHK.exe Application 00THotkey.exe C:\WINDOWS\system32\00THotkey.exe Application accwiz.exe C:\WINDOWS\system32\accwiz.exe ... |
然后,尝试一些其他 cmdlet,如 Get-Process、Get-Service、Get-EventLog 和 Get-Alias。
如果对简单的“Get-”cmdlet 已非常熟悉,请尝试更有趣的 cmdlet,如 Get-WmiObject。此 cmdlet 非常有用,因为使用它可以查看和更改远程计算机的组件。例如,以下命令获取有关 Server01 远程计算机上 BIOS 的信息:
get-wmiobject win32_bios -computername server01 |
get-help
例如:
get-help get-alias -detailed。
Get-Member 是最有用的 cmdlet 之一,它显示有关命令返回的 .NET 对象的信息。该信息包括对象的类型、属性和方法。
若要使用 Get-Member,请使用管道运算符 (|) 将命令结果发送到 Get-Member。例如:
get-service | get-member
此命令显示 Get-Service 实际上返回了一组 System.ServiceProcess.ServiceController 对象 -- 计算机上的每个服务都有一个对象。
TypeName:System.ServiceProcess.ServiceController Name MemberType Definition ---- ---------- ---------- Name AliasProperty Name = ServiceName add_Disposed Method System.Void add_Disposed(EventHandler value) Close Method System.Void Close() Continue Method System.Void Continue() CreateObjRef Method System.Runtime.Remoting.ObjRef CreateObjRef(Type requestedType) Dispose Method System.Void Dispose() Equals Method System.Boolean Equals(Object obj) ExecuteCommand Method System.Void ExecuteCommand(Int32 command) get_CanPauseAndContinue Method System.Boolean get_CanPauseAndContinue() get_CanShutdown Method System.Boolean get_CanShutdown() get_CanStop Method System.Boolean get_CanStop() get_Container Method System.ComponentModel.IContainer get_Container() get_DependentServices Method System.ServiceProcess.ServiceController[] get_DependentServices() get_DisplayName Method System.String get_DisplayName() get_MachineName Method System.String get_MachineName() get_ServiceHandle Method System.Runtime.InteropServices.SafeHandle get_ServiceHandle() get_ServiceName Method System.String get_ServiceName() get_ServicesDependedOn Method System.ServiceProcess.ServiceController[] get_ServicesDependedOn() get_ServiceType Method System.ServiceProcess.ServiceType get_ServiceType() get_Site Method System.ComponentModel.ISite get_Site() get_Status Method System.ServiceProcess.ServiceControllerStatus get_Status() GetHashCode Method System.Int32 GetHashCode() GetLifetimeService Method System.Object GetLifetimeService() GetType Method System.Type GetType() InitializeLifetimeService Method System.Object InitializeLifetimeService() Pause Method System.Void Pause() Refresh Method System.Void Refresh() remove_Disposed Method System.Void remove_Disposed(EventHandler value) set_DisplayName Method System.Void set_DisplayName(String value) set_MachineName Method System.Void set_MachineName(String value) set_ServiceName Method System.Void set_ServiceName(String value) set_Site Method System.Void set_Site(ISite value) Start Method System.Void Start(), System.Void Start(String[] args) Stop Method System.Void Stop() ToString Method System.String ToString() WaitForStatus Method System.Void WaitForStatus(ServiceControllerStatus desiredStatus), System.Voi... CanPauseAndContinue Property System.Boolean CanPauseAndContinue {get;} CanShutdown Property System.Boolean CanShutdown {get;} CanStop Property System.Boolean CanStop {get;} Container Property System.ComponentModel.IContainer Container {get;} DependentServices Property System.ServiceProcess.ServiceController[] DependentServices {get;} DisplayName Property System.String DisplayName {get;set;} MachineName Property System.String MachineName {get;set;} ServiceHandle Property System.Runtime.InteropServices.SafeHandle ServiceHandle {get;} ServiceName Property System.String ServiceName {get;set;} ServicesDependedOn Property System.ServiceProcess.ServiceController[] ServicesDependedOn {get;} ServiceType Property System.ServiceProcess.ServiceType ServiceType {get;} Site Property System.ComponentModel.ISite Site {get;set;} Status Property System.ServiceProcess.ServiceControllerStatus Status {get;} |
·通过类型名称(如“System.ServiceProcess.ServiceController”)可以知道 cmdlet 返回什么类型的 .NET 对象。若要获取有关此 .NET 类中对象的信息,请将类型名称粘贴在 MSDN 上的“Search”(搜索)文本框中。关联的 MSDN 主题包括有关此类中对象的属性和方法的信息,其中包括 Get-Service 返回的对象。
· Property 类型表示对象的属性。每个属性的值是有关服务对象的信息。例如,ServiceController