菜鸟教程之Microsoft Windows Powershell

原创作品首发51CTO博客,转载请注明出处:[url]http://babyxc.blog.51cto.com/[/url]
 
I’m back! 再不更新 blog 就要挨骂了。今天给大家带来点新知识 ,Microsoft windows powershell!( 后面的都简称 Ps) 什么是 ps ?它能给我们带来什么? Windows PowerShell 是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境 两者既可以独立使用也可以组合使用。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 
与接受和返回文本的大多数外壳程序不同 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]
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值