PowerShell經常使用的.Net 、COM對象(New-Object、Assembly)、加載程序集

#新建隨機數對象實例:
$Ran = New-Object System.Random
$Ran.NextDouble()html

有時候,要使用的實例的類保存在獨立的庫文件中,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,以下圖所示就能夠找到所須要的程序集:windows

  而對於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目錄下是可用的程序集:dom

例:[System.Reflection.Assembly]::LoadWithPartialName("TaskScheduler")ssh

查看可用程序集:函數


建立實例類:
$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

 

 參考:.Net Framwork類庫

相關文章
相關標籤/搜索