一起谈.NET技术,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 = RunspaceFactory.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-25 07:31:51

一起谈.NET技术,Powershell简介及其编程访问的相关文章

Powershell简介及其编程访问

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

一起谈.NET技术,对抽象编程:接口和抽象类

1. 引言 在我之前的一篇post <抽象类和接口的谁是谁非 >中,和同事管伟的讨论,得到很多朋友的关注,因为是不成体系的论道,所以给大家了解造成不便,同时关于这个主题的系统性理论,我认为也有必要做以总结,因此才有了本篇的新鲜出炉.同时,我将把上贴中的问题顺便也在此做以交代. 2. 概念引入       什么是接口? 接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称.参数和返回值.接口方法不能包含任何实现,CLR 允许接口可以包含事件.属性.索引器.静态方法.静态字段.静态构造函数以及

一起谈.NET技术,.NET 4 并行(多核)编程系列之一入门介绍

本系列文章将会对.NET 4中的并行编程技术(也称之为多核编程技术)以及应用作全面的介绍. 本篇文章的议题如下: 1. 并行编程和多线程编程的区别. 2. 并行编程技术的利弊 3. 何时采用并行编程 1.并行编程和多线程编程的区别. 1.1并行编程. 现在随着多核计算机的普及,并行编程技术,也就是多核编程技术也逐渐称为开发的主流.为此,在.NET 4 中就引入了"并行编程".在.NET 4 中一些列的Library和类为并行编程提供了支持,如: Task Parallel Librar

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

《创业家》牛文文:少谈点模式多谈点技术

"模式"如同当年的"主义",流行于各种创业大赛.创业励志节目.论坛的"街头"式秀场 文/创业家 牛文文 "美国某某公司你知道吧?就是刚被戴尔.惠普.思科十几亿美元抢购的那家.我们的模式和它的一样,现在还没赢利,可将来起码有十几亿人民币的市值." "我开了小煤矿,但煤运不出去,上商学院之后受到启发,想搞模式创新,具体讲就是想在铁路边上搞个煤炭物流开发区,建一个大的物流和信息流平台,把分散的煤炭集中在我这个园区,这样和铁

《Storm分布式实时计算模式》——2.2 Storm技术栈简介

2.2 Storm技术栈简介 在安装Storm之前,我们来看看Storm和topology是基于哪些技术建立的.2.2.1 Java和ClojureStorm运行在Java虚拟机上,大部分是使用Java和Clojure进行开发的.Storm的主要接口都是通过Java语言定制的,Storm使用Python实现了可执行程序.除了这些程序,由于Java使用了Apache Thrift接口,Java还友好的兼容多种其他语言.Storm的组件(spout和bot)实际上可以使用任何当前服务器安装支持的语言

一起谈.NET技术,Smart Client技术简要总结

1.Smart Client简介 Smart Client简称智能客户端,是Microsoft推出的一种将B/S(瘦客户端)和C/S(胖客户端)结合在一起的一种技术.Smart Client结合了B/S和C/S的优势,具有新的特点. Smart Client的优点 易于升级 类似于B/S架构的程序,只要在服务器上更新软件,进行简单配置,客户端会自动进行软件的更新.比如在服务器的站点上建立一个虚拟目录,将客户端应用程序发布到该虚拟目录中,客户通过HTTP方式安装更新程序. 富客户端,强大的用户界面

Delphi编程访问注册表

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

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

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