设为首页 收藏本站
查看: 891|回复: 0

PowerShell基础教程(3)——Windows PowerShell 使用初步

[复制链接]

尚未签到

发表于 2017-5-20 06:16:29 | 显示全部楼层 |阅读模式
PowerShell基础教程(2)——Windows PowerShell 使用初步



若要从“开始”菜单启动 Windows PowerShell,请依次单击“开始”、“所有程序”、Windows PowerShell 1.0Windows PowerShell。<o:p></o:p>
<o:p></o:p>若要从“运行”框启动 Windows PowerShell,请单击“开始”,再单击“运行”,然后键入:<o:p></o:p>
powershell<o:p></o:p>
<o:p></o:p>若要从命令提示符 (cmd.exe) 窗口启动 Windows PowerShell,请在命令提示符下键入:<o:p></o:p>
powershell<o:p></o:p>
<o:p></o:p>若要查看用于启动 Windows PowerShell 的选项,请在命令提示符窗口中键入:<o:p></o:p>
powershell   -?<o:p></o:p>
<o:p></o:p>在 Windows PowerShell 打开时,可以使用 Get-Help cmdlet 查找帮助。在 Windows PowerShell 命令提示符下,键入:
get-help<o:p></o:p>

使用 Windows PowerShell             <o:p></o:p>

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-379163-1-1.html 上篇帖子: PowerShell 脚本读取 rss 新闻 下篇帖子: PowerShell基础教程(18)——使用 Windows PowerShell 执行管理任务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表