菜鸟教程之Microsoft Windows Powershell

原创做品首发51CTO博客,转载请注明出处:[url]http://babyxc.blog.51cto.com/[/url]
 
I’m back! 再不更新 blog 就要挨骂了。今天给你们带来点新知识 ,Microsoft windows powershell!( 后面的都简称 Ps) 什么是 ps ?它能给咱们带来什么? Windows PowerShell 是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境 二者既能够独立使用也能够组合使用。
 
与接受和返回文本的大多数外壳程序不一样 Windows PowerShell 是在 NET 公共语言运行时 (CLR) NET Framework 的基础上构建的 它接受和返回 NET 对象。环境中的这一根本更改带来了管理和配置 Windows 的全新工具和方法。
 
Windows PowerShell 引入了 cmdlet 读做 command-let ”) 的概念 这是内置到外壳程序中的一个简单的单一功能命令行工具。能够分别使用每一个 cmdlet ,可是组合使用这些简单的工具执行复杂任务时才发挥其做用。 Windows PowerShell 包括一百多个基本的核心 cmdlet ,您能够编写本身的 cmdlet 并与其余用户共享它们。(原创做品首发51CTO博客,转载请注明出处:[url]http://babyxc.blog.51cto.com/[/url]
 
与许多外壳程序同样 Windows PowerShell 为您提供了对计算机上文件系统的访问。此外 使用 Windows PowerShell 提供程序 还能够访问其余数据存储区 如注册表和数字签名证书存储区 , 与访问文件系统同样容易。 Windows PowerShell 有很大不一样  
·      Windows PowerShell 不处理文本。相反 它基于 NET 平台处理对象。  
·      Windows PowerShell 附带了具备一致界面的大量内置命令。
·      全部的外壳程序命令都使用同一命令分析程序,而不是每一个工具使用不一样的分析程序。这样即可更轻松地学习如何使用每一个命令。
其最好的优势在于,您没必要忍痛舍弃本身惯用的工具。仍能够在 Windows PowerShell 中使用传统的 Windows 工具,如 Net SC Reg exe
cmdlet 读做 command-let ”) Windows PowerShell 中用于操做对象的单功能命令。能够经过其名称格式识别 cmdlet -- 由短划线 (-) 分隔的动词和名词,如 Get-Help Get-Process Start-Service
在传统的外壳程序中,命令是从很是简单(如 attrib exe )到很是复杂(如 netsh exe )的可执行程序。 (原创做品首发51CTO博客,转载请注明出处:[url]http://babyxc.blog.51cto.com/[/url]
 
Windows PowerShell 大多数 cmdlet 都很是简单 它们设计为与其余 cmdlet 组合使用。例如 ,“ get cmdlet 仅检索数据 ,“ set cmdlet 仅创建或更改数据 ,“ format cmdlet 仅设置数据格式 ,“ out cmdlet 仅将输出定向到指定的目标。看了一些最基本的概念性问题,咱们如今开始动动手。ps: PowerShell is designed to run on all recent versions of Windows including those based on x64 processors The only prerequisite for installing PowerShell is that you must first install v2 0 of the Microsoft NET Framework Note that PowerShell will preinstall in certain situations For example, PowerShell is part of the Exchange Server 2007 administrative tools 。这是运行 ps 的需求 !(原创做品首发51CTO博客,转载请注明出处:[url]http://babyxc.blog.51cto.com/[/url]
 
Ps 的启动有 3 种方式。 若要从 开始 菜单启动 Windows PowerShell 请依次单击 开始 全部程序 Windows PowerShell 1 0 Windows PowerShell
 
若要从“运行”框启动 Windows PowerShell ,请单击“开始”,再单击“运行”,而后键入:
powershell
 
若要从命令提示符 (cmd exe) 窗口启动 Windows PowerShell 请在命令提示符下键入
powershell
 
若要查看用于启动 Windows PowerShell 的选项 请在命令提示符窗口中键入
powershell -
 
Windows PowerShell 打开时 可使用 Get-Help cmdlet 查找帮助。在 Windows PowerShell 命令提示符下,键入:
get-help
我用的是第一种方式:
 
这就是 ps 的工做界面 看起来如何 。貌似跟 cmd exe 的界面差很少 首先咱们看看 ps 里面有多少 cmdlet! 很简单。 get-command
 
看的眼睛都花了。下面咱们将介绍如何用 ps 执行管理任务。先从进程提及吧。 核心进程 cmdlet 只有两个 Get-Process Stop-Process 。因为有可能使用参数或对象 cmdlet 来检查和筛选进程,所以能够只使用这两个 cmdlet 来执行一些复杂的任务。
也是平时用的最多的。 get-process 是管理进程的 cmdlet 。以下图:
 
经过无参数运行 Get-Process ,能够得到正在本地系统中运行的全部进程的列表。
经过使用 Id 或者 name 参数,还能够返回单个进程。看图
 
这是本机运行的 qq 程序。若是要中止的话 , 就须要用到 Stop-Process cmdlet 采用 Name ID 来指定但愿中止的进程。是否可以中止进程取决于您的权限。某些进程不能中止。看图!
 
能够用 Confirm 参数强制进行提示。
 
 
是否是很简单啊 以为用ps管理进程真的很简单 我以为比我之前用的wmic都简单些。这只是些最多见的操做。。看复杂一点的——
经过使用某些对象筛选 cmdlet 能够进行复杂的进程操做。因为进程对象有 Responding 属性,当进程再也不响应时该属性将为 True ,所以能够用如下命令中止全部无响应的应用程序:
Get-Process | Where-Object -FilterScript {$_ Responding -eq $false} | Stop-Process
 
您能够在其余状况下使用相同的方法。例如 假设用户启动一个应用程序时另外一个辅助的系统任务栏应用程序自动运行。您可能发现这在终端服务会话中没法正确工做,但仍然须要使它在物理计算机控制台上的会话中持续运行。链接到物理计算机桌面的会话的会话 ID 始终是 0 ,所以经过使用 Where-Object 和进程的 SessionId ,能够中止在其余会话中的全部进程实例:
Get-Process -Name BadApp | Where-Object -FilterScript {$_ SessionId -neq 0} | Stop-Process
 
可能偶尔须要可以中止除了当前会话之外全部正在运行的 Windows PowerShell 会话。若是会话正在使用太多资源,或者不可访问(它可能正在远程运行,或者在另外一个桌面会话中),则可能没法直接中止它。可是,若是试图中止全部正在运行的会话,则可能终止当前会话。
每一个 Windows PowerShell 会话都有环境变量 PID 其中包含 Windows PowerShell 进程的 ID 。能够对照每一个会话的 ID 检查该 $PID 并只终止有不一样 ID Windows PowerShell 会话。如下管道命令执行此操做,并返回被终止会话的列表(因为使用了 PassThru 参数):
PS> Get-Process -Name powershell | Where-Object -FilterScript {$_ Id -ne $PID} | Stop-Process -
PassThru
Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
334       9    23348      29136   143     1 03    388 powershell
304       9    23152      29040   143     1 03    632 powershell
302       9    20916      26804   143     1 03   1116 powershell
335       9    25656      31412   143     1 09   3452 powershell
303       9    23156      29044   143     1 05   3608 powershell
287       9    21044      26928   143     1 02   3672 powershell
上面这些是 ps 自带的文档里面的说明 , 有兴趣的能够试试。下次咱们继续 ps 之旅。。菜菜水平很低 , 写这些呢 , 目的也是为和你们交流 , 在平时用电脑用的一些技巧。还望高人多多指点。。 QQ:182188803 See you!
原创做品首发51CTO博客,转载请注明出处:[url]http://babyxc.blog.51cto.com/[/url]
相关文章
相关标签/搜索