Powershell简介及其编程访问

  这个工具可以单独使用,完全可以取代cmd.exe。例如如下:

  但它的功能远不止于此,例如我们可以很容易地获取所有的进程名称:

  再来看一个,下面这个例子是获取当前正在运行的服务列表。(可以用条件很方便地筛选):

  除此之外,Powershell还支持定制,例如微软很多产品都提供了专门的Powershell插件(典型的有:SQL Server,SharePoint Server, Exchange Server等)。通过这些特殊的外壳,可以实现对服务器的管理。功能非常强大。例如下面的SQLPS,可以像查看文件夹那样查看数据库:

  再例如下图的EMS(Exchange Managment Shell),可以对一个地址列表进行修改:

  看起来还不错吧,关于Powershell的更多细节,大家有兴趣的话,可以参考微软有关的文档。接下来谈另外一个话题,Powershell这么强大,但终究是手工地操作,能不能在程序中调用它,并且执行有关的操作呢?

答案是:可以的。下面我们来看一个小的例子:

  添加一个引用。这个程序集在C:\Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0目录中:

  编写如下简单的代码:

using System;

using System.
Collections.Generic;

using System.Linq;

using System.Text;

using System.
Management.Automation;

using System.Management.Automation.Runspaces;

using System.Diagnostics;

namespace PowershellInvoker

{

class Program

{

static void Main(string[] args)

{

var runspace = Runspace
Factory.CreateRunspace();

runspace.Open();

var piple = runspace.CreatePipeline("Get-Process");

var result = piple.Invoke().Select(p => p.BaseObject).Cast<Process>();

foreach (var item in result)

{

Console.WriteLine("{0}\t{1}\t{2}",

item.Id.ToString().PadRight(30),

item.ProcessName.PadRight(30),

item.Threads.Count);

}

Console.Read();

}

}

}

  是的,Powershell据是基于.NET Framework的对象操作。

时间: 2024-10-11 16:58:13

Powershell简介及其编程访问的相关文章

一起谈.NET技术,Powershell简介及其编程访问

这个工具可以单独使用,完全可以取代cmd.exe.例如如下: 但它的功能远不止于此,例如我们可以很容易地获取所有的进程名称: 再来看一个,下面这个例子是获取当前正在运行的服务列表.(可以用条件很方便地筛选): 除此之外,Powershell还支持定制,例如微软很多产品都提供了专门的Powershell插件(典型的有:SQL Server,SharePoint Server, Exchange Server等).通过这些特殊的外壳,可以实现对服务器的管理.功能非常强大.例如下面的SQLPS,可以像

SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础

SAS学习笔记之<SAS编程与数据挖掘商业案例>(1)系统简介和编程基础 1. SAS系统简介 1.1 SAS是先编译后执行的语言,data步标志着编译的开始. 数据指针:当前内存缓存区,输入数据所在位置. PDV:Program Data Vector,在DATA步中所有涉及的变量被编程当前向量的一部分. 2. SAS编程基础 2.1 SAS逻辑库 SAS逻辑库 | | | SAS数据集 SAS目录 其他SAS文件 | | SAS数据文件 SAS数据视图 2.2 创建逻辑库 libname

Delphi编程访问注册表

注册表是windows系统的一个庞大数据库,它存储着系统硬件.软件及用户信息.适当修改注册表的参数值,可以提高系统的性能.注册表的修改通常有两种途径:其一是利用windows系统提供的"RegEdit"命令进行修改.此种方法虽说直观,但由于注册表的复杂性,对于一般用户来说,此方法并不十分可行.其二就是以编程方式来访问注册表.掌握这种方法,对于程序员来说,是一个重要的基本技术.因为在我们的编程过程中,很多地方都需要以程序方式去访问注册表.比如大家熟悉的"超级兔子".&

关于安卓编程访问服务器端的IK分词工具的问题

问题描述 关于安卓编程访问服务器端的IK分词工具的问题 本人想在服务器端接收安卓端传过来的关键词然后惊醒IK的分词和倒排索引的处理.在服务器端运行 函数是可以运行处结果的,但是通过安卓端传送回数据后调用总是卡住,卡在 Analyzer analyzer = new IKAnalyzer(); 解决方案 这个是初始化 不太像是跟数据有关 要看看你服务器运行时的状态 解决方案二: http://www.zhihu.com/question/38312658

PowerShell入门教程之访问.Net程序集、COM和WMI实例_PowerShell

PowerShell可以设计的大而全,重新实现一切:也可以像现在一样设计成胶水语言,利用现有的资源.特别是,与.Net.COM和WMI三大豪门的联姻,使得PowerShell必将在Windows世界里大放光彩. 与新锐.Net联姻 在Windows的世界里,.Net代表着现在和将来,是新生力量.与.Net联姻,就意味着榜上了粗腿,迈上了快车道.号称基于.Net Framework,那么使用.Net的基类就易如反掌.基本步骤如下:1.添加类所在程序集:2.创建类的实例:3.调用实例的函数或者属性.

JSP简介_JSP编程

JSP(JavaServer Pages)是由Sun Microsystems公司倡导.许多公司参与一起建立的一种动态网页技术标准,其网址为http://www.javasoft.com/products/jsp.该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法.JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作. JSP规范是Web服务器.应用服务器.交易系统.以及开发工具供应商间广泛合

简介C++编程中的运算符重载_C 语言

所谓重载,就是重新赋予新的含义.函数重载就是对一个已有的函数赋予新的含义,使之实现新功能,因此,一个函数名就可以用来代表不同功能的函数,也就是"一名多用". 运算符也可以重载.实际上,我们已经在不知不觉之中使用了运算符重载.例如,大 家都已习惯于用加法运算符"+"对整数.单精度数和双精度数进行加法运算,如5+8, 5.8 +3.67等,其实计算机对整数.单精度数和双精度数的加法操作过程是很不相同的, 但由于C++已经对运算符"+"进行了重载,所以

jsp Hibernate 函数简介_JSP编程

1.Configuration/SessionFactory/Session Configuration实例代表了一个应用程序中Java类型 到SQL数据库映射的完整集合. Configuration被用来构建一个(不可变的 (immutable))SessionFactory. SessionFactory是线程安全的,创建代价很高. Session是非线程安全的,轻量级的.一个Session对应一个JDBC连接, Session的connection()会获取Session与之对应的数据库连

Delphi编程访问SQL Server数据库

delphi是一个优秀的可视化软件开发环境,并已广泛应用于数据库软件的开发.在DelphiC/S版环境中,结合其优化的数据库操作,以及Borland Database Engine(即:BDE,数据库引擎),对开发客户机/服务器系统下的网络数据库软件提供了更加快速有效的途径.在客户机/服务器系统中,服务器端我们采用Microsoft SQL Server6.0 for WindowsNT作为数据库服务器:另外,在客户端采用Delphi编写客户软件.在此,我们假定SQLServer设置完毕,并已经