• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >PowerShell > PowerShell入门教程之访问.Net程序集、COM和WMI实例

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

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了powershell入门教程,powershell入门,powershell教程,powershell在线教程,powershell使用教程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

PowerShell可以设计的大而全,重新实现一切;也可以像现在一样设计成胶水语言,利用现有的资源。特别是,与.Net、COM和WMI三大豪门的联姻,使得PowerShell必将在Windows世界里大放光彩。

与新锐.Net联姻

  在Windows的世界里,.Net代表着现在和将来,是新生力量。与.Net联姻,就意味着榜上了粗腿,迈上了快车道。号称基于.Net Framework,那么使用.Net的基类就易如反掌。基本步骤如下:1、添加类所在程序集;2、创建类的实例;3、调用实例的函数或者属性。以StringBuilder类为例,代码如下:

Add-Type -AssemblyName mscorlib

$str = New-Object System.Text.StringBuilder

$str.Append("Hello")

$str.ToString()
</div>

其结果是输出Hello字符串。

  其实最让人开心的,是PowerShell能够使用自定义的.Net类库。这意味着我们的产品或者工具都能在PowerShell中继续有效。基本步骤是:写一个类库,编译成DLL,导入到PowerShell会话中,然后所定义的函数和属性都可以使用了。示例如下:

首先写好代码,编译成DLL,假设路径是D:\PowerShellDemo\PowerShellDemo.dll。

using System;

namespace PowerShellDemo
{
    public class PowerShellDemo
    {
        public void Greet()
        {
            Console.WriteLine("Hello!");
        }
    }
}
</div>

然后将其导入到PowerShell会话中,并使用其函数或者属性。

Add-Type –Path “D:\PowerShellDemo\PowerShellDemo.dll”

$obj = New-Object PowerShellDemo.PowerShellDemo

$obj.Greet()
</div>

以上调用的输出是Hello字符串.

如此容易就能使用.Net的托管程序集,必然为它招徕一大票簇拥。

与贵族COM为伍

COM就像没落的贵族一样,虽然过气,但那个范儿还在。作为遗产,它们还在放光发热。PowerShell没有嫌弃它,而是选择与他们兼容。这也让现在依旧战斗在Native C++的程序员颇为欣慰。PowerShell对COM的访问方式是通过其ProgID来进行。示例如下:
$ie = New-Object -ComObject InternetExplorer.Application

$ie.Visible = $true

$ie.Navigate(“www.bing.com”)

$ie.Quit()
</div>

以上这个示例演示了对IE的启动、显示、导航和退出等操作,非常简便。与COM的良好关系,也让PowerShell操作一些系统接口变得简单而其直接。这绝对是个加分的设计。

与实力派WMI结盟

  WMI是访问本机和域内标准资源的强大武器,接管了WMI的资源访问,PowerShell也从此迈入豪门。它没有做多余的工作,只是轻巧的通过几个WMIObejct命令,就拥有了WMI的一整套访问机制。对于域内其他机器的访问,甚至不用利用PowerShell的远程基础结构。访问WMI的示例如下:
Get-WmiObject -Namespace "root\cimv2" -Class Win32_Process
</div>
  这个命令的功能跟Get-Process一样,获取本机上正在运行的进程,只是它们得到的结果的形式有一点点小的区别。真正的区别在于当从远程计算机上获取进程信息时,Get-Process必须用Invoke-Command命令,在PowerShell远程基础结构下运行,而Get-WmiObject命令只需加上-ComputerName参数即可。这份从容,是从WMI娘家带来的。

  擅用WMI,必将大大提高访问本机和远程系统资源的效率。不管你信不信,反正我是信了!

结语

  不管是建立在.Net的基础上,还是兼容COM,再或者是以WMI的方式访问资源,PowerShell一心想成为多面胶,成为大众而非小众的朋友。作为IT人士的你,有没有别粘(电)到?

</div>

您可能想查找下面的文章:

  • PowerShell入门教程之编写和使用脚本模块实例
  • PowerShell入门教程之创建和使用配置文件实例
  • PowerShell入门教程之访问.Net程序集、COM和WMI实例
  • PowerShell入门教程之函数、脚本、作用域介绍
  • PowerShell入门教程之PowerShell管道介绍
  • PowerShell入门教程之远程操作运行PowerShell的方法
  • PowerShell入门教程之Cmd命令与PowerShell命令相互调用的方法
  • PowerShell入门教程之高效使用PowerShell交互式运行环境的几个小技巧
  • PowerShell入门教程之快速学习PowerShell的几个方法
  • PowerShell入门教程之PowerShell和Cmd命令行的关系?

相关文章

  • PowerShell String对象方法小结
  • PowerShell生成随机密码的方法
  • Powershell小技巧之复合筛选
  • Powershell小技巧之获取当前的时间并转换为时辰
  • Powershell使用OpenFileDialog打开文件示例
  • Powershell使用嵌套哈希表实例 嵌套哈希表的2种写法例子
  • PowerShell ISE中代码转换大小写的技巧
  • Powershell实现克隆NTFS文件系统权限
  • PowerShell中的TimeSpan时间差对象使用实例
  • 使用PowerShell操作Windows服务的命令小结

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • PowerShell中字符串分行显示的两种方法技巧
    • PowerShell入门教程之PowerShell和Cmd命令行的关系?
    • 用PowerShell代替批处理吧!
    • Powershell小技巧之捕获脚本内部的异常
    • PowerShell脚本中控制Windows DNS服务的方法
    • PowerShell实现在多个文件中检索关键字功能
    • Powershell小技巧--将文件夹中的大文件分成若干份
    • Powershell使用WPF技术实现弹窗提示实例
    • Powershell实现编写和运行脚本
    • PowerShell中按修改时间查找文件的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有