PowerShell常用的.Net 、COM对象(New-Object、Assembly)、加载程序集
#新建随机数对象实例:
$Ran = New-Object System.Random
$Ran.NextDouble()
有时候,要使用的实例的类保存在独立的库文件中,PowerShell默认未加载,会出现如下错误提示,就需要先加载库文件,然后再创建实例类:
这时候,在MSDN的.NET Framework 类库中去查找该实例类包含在哪个库文件中,地址 http://msdn.microsoft.com/zh-cn/library/gg145045(v=vs.110).aspx
对于 System.Windows.Forms.NotifyIcon来说,在.NET Framework 类库中可以直接查找到 System.Windows,然后再在 System.Windows 中去查找System.Windows.Forms,再依次去查找 System.Windows.Forms.NotifyIcon,如下图所示就可以找到所需要的程序集:
而对于SecureString来说,则可以进行猜测,如查找 Security 关键字,可以查到 System.Security 的命名空间,之后就可以找到 System.Security.SecureString 了,然后使用 new-object System.Security.SecureString可以创建成功
使用 System.Reflection.Assembly类提供的方法来加载类库:
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
C:\Windows\assembly目录下是可用的程序集:
例:[System.Reflection.Assembly]::LoadWithPartialName("TaskScheduler")
查看可用程序集:
创建实例类:
$balloon = New-Object System.Windows.Forms.NotifyIcon
#新建随机数对象实例:
$Ran = New-Object System.Random
$Ran.NextDouble()
(new-object Net.WebClient).DownloadString("http://live.com")
LoadWithPartialName方法不适合在脚本或产品发布的环境中使用,他加载最新的库文件,可能与用来开发的版本不一致。比较安全的加载库文件的方法是使用[Reflection.Assembly]::Load()加上完整的名称。
PowerShell常用的.COM对象:
COMAdmin.COMAdminCatalog :提供了访问和管理Windows COM编录
Excel.Application :允许自动化Microsoft Excel和与之的交互
Excel.Sheet: 允许与Excel工作表之间的交互
HNetCfg.FwMgr: 提供对Windows防火墙的管理功能的访问
HTMLFile:允许和一个新的Internet Explorer文档交互
MAPI.Session:提供对MAPI(消息应用程序编程接口)的会话的访问,如文件夹、邮件和通讯簿
Microsoft.Update.AutoUpdate:提供了对Microsoft Update自动更新计划的管理
Microsoft.Update.Installer:允许从Microsoft Update安装更新
Microsoft.Update.Session:提供对有关Microsoft Update本地历史记录的信息的访问
Microsoft.Update.SystemInfo:提供对当前系统与Microsoft Update有关的信息的访问
MMC20.Application:允许管理控制台(MMC)的自动化和与之进行交互
MSScriptControl.ScriptControl:允许评估和控制WSH脚本
Msxml2.XSLTemplate:允许XSL转换处理
Outlook.Application:允许和你的Microsoft Outlook应用,如电子邮件、日历、联系人等进行交互和自动化应用
OutlookExpress.MessageList:允许通过Outlook Expresshe 和你的电子邮件交互及自动化
PowerPoint.Application:允许自动化Microsoft PowerPoint和与之交互
Scripting.FileSystemObject:提供对计算机的文件系统的访问
ScriptPW.Password:允许伪装输入的纯文本密码》如果可能,应避免使用这个。应该优先考虑使用read-host -AsSecureString参数
Shell.Application:提供对Windows Explorer Shell应用程序,如管理窗口、文件盒文件夹和当前会话的方面的访问
Shell.LocalMachine:提供对有关当前计算机与Windows Shell程序此昂管的信息的访问
Shell.User :提供对当前用户的Windows回话和配置文件方面的访问
SQLDMO.SQLServer:提供对Microsoft SQL Server的管理功能的访问
Word.Application:允许和Microsoft Word的交互与自动化
Word.Document:允许与Microsoft Word文档进行交互
WScript.Network:提供对互联网的Windows环境方面的访问,如打印机、网络驱动器,以及计算机和域信息
WScript.Shell:提供对Windows Shell,例如应用程序、快捷方式、环境变量、注册表和操作环境的方面的访问
WSHController:在远程计算机上运行WSH脚本的执行
PowerShell常用的.Net对象
System.Management.Automation.PSObject:表示一个PowerShell对象,可向其添加注释、属性和更多
System.DateTime:表示一个即时时间
System.Math:提供了常见的数学函数的常量和静态方法
System.Random:表示随机的生成器,生成一系列符合某些统计数字随机性的需求
System.Environment:提供有关信息,表示操作,当前环境和平台
System.Console:表示控制台应用程序的标准输入、输出和错误流
System.Diagnostics.EventLog:提供了与Windows事件日志的交互
System.Diagnostics.Process:提供对本地和远程进程的访问,启动和停止本地系统进程
System.Diagnostics.StopWatch:提供了一组方法和属性,用于准确的测量运行时间
System.Media.SoundPlayer:控件从.wav文件中播放声音
System.AppDomain:表示应用程序域,即应用程序执行的隔离的环境
System.Reflection.Assembly:自定义程序集,是一个可重复使用,可转换和自描述的公共语言运行库应用程序的构造块
System.Security.Principal.WindowsIdentity:表示一个Windows用户
System.Windows.Forms.Form:表示一个窗口或对话框,构成应用程序的用户界面
System.windows.Forms.FlowLayoutPanel:表示动态布局其内容的一个面板
System.Uri :提供了一个对象,表示统一资源标识符(URI)。可以方便的访问URI各个部分
System.Net.NetworkCredential:为基于密码的身份验证提供凭据(如基本、简要、Kerberos身份验证和NTLM)
System.Net.DNS:提供了简单的域名解析功能
System.Net.FtpWebRequest:实现一个FTP客户端
System.Net.HttpWebRequest:提供的特定于HTTP实现的WebRequest类
System.Net.WebClient:提供常用的方法来发送和接收由URI标识的一个资源中的数据
System.Net.Sockets.TcpClient:提供了TCP网络服务的客户端连接
System.Net.Mail.MailAddress:表示某个邮件发件人或收件人的地址
System.Net.Mail.MailMessage:表示可以使用smtpClient类发送电子邮件
System.Net.Mail.SmtpClient:表示应用程序通过SMTP发送电子邮件
System.Xml.XmlDocument:表示一个XML文档
System.DirectoryServices.DirectorySearcher:对AD执行查询
System.Data.SqlClient.SqlCommand:表示针对SQL Server数据库来执行的T-SQL语句或存储过程
System.Data.SqlClient.SqlConnection:表示到SQL Server数据库的打开的连接
System.Data.SqlClient.SqlDataAdapter:表示一组数据命令和数据库连接,用于填充DataSet和更新SQL数据库
System.Data.Odbc.OdbcCommand :表示针对某一odbc数据库执行的一个T-SQL语句或存储过程
查看[System.Net.IPAddress] 可用的属性和方法
[System.Net.IPAddress]|gm -Static
[System.DateTime] |gm -static -membertype Method
PowerShell常用的.Net 、COM对象(New-Object、Assembly)、加载程序集的更多相关文章
- Java的cmd配置(也即Java的JDK配置及相关常用命令)——找不到或无法加载主类 的解决方法
Java的cmd配置(也即Java的JDK配置及相关常用命令) ——找不到或无法加载主类 的解决方法 这段时间一直纠结于cmd下Java无法编译运行的问题.主要问题描述如下: javac 命令可以正 ...
- php之类,对象(四)加载类及练习题
一.加载类:1.命名类文件的时候每个单词首字母大写,后面缀上.class.php eg: Info.class.php 在写编码时定义类名首字母大写,定义变量名小写 eg:class Ren { pu ...
- [Xcode 实际操作]四、常用控件-(14)使用UIWebView控件加载本地HTML
目录:[Swift]Xcode实际操作 本文将演示使用网页视图,加载并渲染网页代码. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit im ...
- [Xcode 实际操作]四、常用控件-(13)使用UIWebView控件加载网页
目录:[Swift]Xcode实际操作 本文将演示网页视图的使用. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit class ViewC ...
- C#面向对象---对象成员、方法加载、引用类库
一.方法重载: 1.两个函数同名,就互相构成方法的重载关系 2.重载的函数,必须跟其他函数之间具有不同的参数类型或参数个数 二.字段与属性 类的字段: 类里面是可以直接定义变量的,这些变量就叫类的字段 ...
- 无参数实例化Configuration对象以及addResource无法加载core-site.xml中的内容
core-site.xml中配置的fs.default.name是hdfs://localhost:9000.但是这里读取出来的是本地文件系统.原因暂不知?有谁知道?
- 【python游戏编程之旅】第四篇---pygame中加载位图与常用的数学函数。
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇博客中,我们学习了pygame事件与设备轮询.http://www.cnblogs.com/msxh ...
- [转]PO和VO、关于延迟加载(lazy)和强制加载(Hibernate.initialize(Object proxy) )
摘自http://www.cnblogs.com/kelin1314/archive/2009/11/13/1602778.html PO和VO PO 即Persistence Object VO 即 ...
- 动态加载Dll时,通过Type生成类对象
原文:动态加载Dll时,通过Type生成类对象 转:http://www.cnblogs.com/zfanlong1314/p/4197383.html "反射"其实就是利用程序集 ...
随机推荐
- C#中线程的用法
通过委托的方式创建线程 static int sum(int x) { return x+x; { Func<int> a = sum; 创建一个新的线程格式:a.BeginInvoke( ...
- poj 1284 Primitive Roots
从来没有接触过完全剩余系,不会证明,知道看了别人的题解才知道要用欧拉函数: 下面是证明过程: p是奇素数,如果{xi%p | 1 <= i <= p - 1} = {1,2,...,p-1 ...
- 搭建mongodb分片
搭建mongodb分片 http://gong1208.iteye.com/blog/1622078 Sharding分片概念 这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在shardi ...
- Android 程序框架设计
这篇文章主要内容来自于之前我讲的一个PPT文档,现在将其整理如下.欢迎指正.以下的内容都是来自于我自身的经验,欢迎大家多提自己的建议. 1.一些概念 模式的定义: 每个模式都描述了一个在我们的环境中不 ...
- 记录一下MYSQL的SQL语法
这是加时间的语法 update mylog set mydate= DATE_ADD( mydate, INTERVAL 13 HOUR) WHERE mydate BETWEEN '2014-0 ...
- Qt 静态函数QMetaObject::connectSlotsByName(QObject * object)按命名规则自动connect,不需要手动connect
看别人代码看到void on_MyWidget_slotTest(); 就郁闷了,没看到他代码里有connect 却能把信号和槽可以连接起来. 今日回顾书本发现该函所的nb之处. QMetaObjec ...
- POJ_2001_Shortest_Prefixes_(Trie)
描述 http://poj.org/problem?id=2001 给出一组单词,求每个单词的最小唯一前缀. 最小唯一前缀:该前缀不能是其他单词的前缀,并且最小,如果不存在,则为该单词本身. Shor ...
- Android 解决安装Egit时Egit Mylyn和org.eclipse.team.core报错
为了让Aptana支持GitHub,需要安装Egit,但在的时候碰到两个错误,一个是关于缺少EGit Mylyn另一个是缺少org.eclipse.egit.import.feature.group. ...
- (转载)LINUX UNBUNTU10.04 下 搭建OC编译环境
(转载)http://blog.sina.com.cn/s/blog_833996210100rgl4.html 1安装 / install GNUstep on ubuntu 下面列出来的包是安装G ...
- 监控CPU和内存的使用
监控CPU和内存的使用: #!/bin/bash #script to capture system statistics outfile=/home/rainbow/test/file.csv da ...