成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PowerShell與.NET框架之間的點連接

系統 Windows
Windows PowerShell最好的功能之一就是它對.NET對象模式的直接訪問。但是由于作者不是一個開發人員,并且大部分編成概念都十分陌生,也就成為了學習Powershell時最大的障礙。在本文中就是在實際學習中總結出Powershell與.Net框架之間點連接的學習經驗。

Windows PowerShell***的功能之一就是它對.NET對象模式的直接訪問。不幸的是,由于我不是開發人員,且大部分編程概念對我來說也很陌生,這是我在學習PowerShell時***的障礙。

在我最初用PowerShell工作時,我不知道類別、端口、構造或成員的不同,對對象的概念(來自一個程序員的觀點)也不是真得了解。但我確實認為這些概念對學習和使用有Windows PowerShell的.NET很重要。我還發現,了解一些C#(或至少能讀懂它)也非常有幫助。

因此,我將試著通過舉例來簡短地解釋下這些概念并在這個過程中提供一些代碼來幫助你。我還會試著(用我有限的能力)來提供一些C# PowerShell轉換的基本指導。

讓我們從定義開始。此外,如果你是一個開發人員,對于我接下來說的所有事情都請隨意發表意見。這些定義都是我對于這些概念推導出來的意見。

.NET:它是有黑箱代碼的架構,這些代碼接受特定的輸入并返回一個值或對象。基本上,微軟為你完成了所有編碼——你只須要正確調用它。MSDN是.NET架構的無價資源。

類別(Class):我在.NET中提及的幾乎所有事情都是一個類別。我傾向于認為一個類別是一個樣板,示范對象應該是什么樣子和它應該有什么特性和類函數。舉例來說,一個Microsoft.Win32.RegistryKey對象應該有命名特性和GetValue方法。

成員(Member):每個類別都有成員,它們是連結起來的特性和類函數。如果你只想看看一個類別必須提供物的概況,這會是個好地方。

特性(Property):特性是類別兩類成員之一。簡言之,可以認為它們是對象的屬性。舉例來說,Microsoft.Win32.RegistryKey類別有Name、SubKeyCount和Value Count等特性,所以每個Microsoft.Win32.RegistryKey對象都能有這些特性。

類函數(Method):類函數是類別兩類成員之一。和特性一樣,類函數也由類別限制,但是和屬性相反,它們更像類別的功能。Microsoft.Win32.RegistryKey類別有CreateSubKey、DeleteSubkey、SetValue等類函數。和特性一樣,每個Microsoft.Win32.RegistryKey對象都能有這些類函數。

構造函數(Constructor):構造函數是類別的一個類函數,它收集創建一個類別實例所需的信息。我更喜歡將構造定義為使對象有用所需的信息或對象。用System.Data.SqlClient.SqlCommand來舉例,有四個不同方法可以讓你從該類中創建一個對象。每一方法創建出的對象都有些微不同的數據。

靜態域(Static field):它們和特性相似,但無須創建對象實例就可以獲得。在PowerShell中,訪問靜態成員確實簡單。你所要做的就是運用

[.NET Class]::StaticField。

在接下來的例子中,.NET類別System.Math會返回PI值:

[System.Math]::PI.

靜態類函數(Static method):它們就像類函數,但無須創建對象實例就可獲得。和你訪問靜態域的方式相似,你只須運用[.NET Class]::StaticMethods。

接下來的例子中,Microsoft.Win32.RegistryKey將為一個叫做MyServer的遠程機返回Microsoft.Win32.RegistryKey對象。

[Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine,”MyServer”)

現在我們已經涵蓋了基本的.NET框架,讓我們詳細檢查下某些PowerShell特性,如創建類別并發現這些類別可得到哪些特性和類函數。

新對象(New-Object),創建微軟.NET框架或COM對象的實例。

接下來的例子中我會創建一個System.DirectoryServices.ActiveDirectory.DirectoryContext實例:

$Context = new-object System.DirectoryServices.ActiveDirectory.DirectoryContext("DirectoryServer",$Name)

獲取成員(Get-Member),訪問對象的特性和類函數。

接下來的例子將返回$Context對象的所有成員:

$Context | Get-Member

收集所有.NET問題

以下是工作中的.NET實例。它運用新對象、構造函數和靜態類函數返回活動目錄域控制器對象。

function Get-DC
{
Param($Name,$Domain)
if($Name)
{
$Context = new-object
System.DirectoryServices.
ActiveDirectory.DirectoryContext

("DirectoryServer",$Name)

[System.DirectoryServices.

ActiveDirectory.DomainController]

::GetDomainController($Context)

}

if($Domain)

{

$Context = new-object

System.DirectoryServices.

ActiveDirectory.DirectoryContext

("Domain",$Domain)

[System.DirectoryServices.ActiveDirectory.

DomainController]::FindAll($Context)

}

if(!$Name -and !$Domain)

{

$DCName = ([adsi]"LDAP://rootDSE")

.dnsHostname.ToString()

$Context = new-object

System.DirectoryServices.ActiveDirectory.

DirectoryContext("DirectoryServer",$DCName)

[System.DirectoryServices.ActiveDirectory.

DomainController]::GetDomainController($Context)

}

}

【編輯推薦】

  1. WMI中的Windows PowerShell腳本使用方法
  2. 有關PowerShell腳本你必須知道的十個基本概念
  3. PowerShell與Unix Shell對比:八大實例
  4. 教你如何個性化PowerShell環境
責任編輯:張浩 來源: TT中國
相關推薦

2023-05-23 07:06:05

PythonPowerShell

2024-06-18 13:17:02

數據庫框架

2012-09-20 10:30:07

Linuxtty框架uart框架

2009-12-29 14:55:31

ADO.NET Dat

2013-02-21 17:54:12

PowerShell入PowerShell命

2009-12-02 09:07:45

ASP.NET 4.0

2009-08-21 16:55:10

.NET框架與XML

2009-08-21 17:16:19

.NET框架與COM

2009-08-28 15:35:31

C#與VB.net

2013-02-18 08:34:45

powershell

2024-12-04 08:17:49

日志框架NLog

2009-03-13 10:58:48

ASP.NetMVC框架編程

2011-04-20 10:02:22

PowerShell

2010-09-17 09:24:30

PowerShellSSH

2009-11-11 14:34:14

VB.NET動態連接庫

2009-07-20 15:51:40

FubuMVC核心框架ASP.NET MVC

2010-08-11 13:01:09

Flex.NETSocket

2010-01-14 14:30:09

VB.NET匿名類型

2013-11-07 15:55:29

PowerShellVDI

2009-07-28 14:30:35

ASP.NET JSP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲天堂中文字幕 | 亚洲高清在线 | 精品一区电影 | 一级无毛片 | 红桃视频一区二区三区免费 | 神马久久久久久久久久 | 国产精品视频免费播放 | 色橹橹欧美在线观看视频高清 | 青春草在线 | 久久精品一区二区三区四区 | 久久久蜜桃 | 日韩中文字幕一区二区 | 久久免费小视频 | 成人免费视频网站在线观看 | 美女爽到呻吟久久久久 | 在线视频日韩精品 | 免费的av | 精品国产31久久久久久 | 99久久婷婷国产综合精品首页 | 欧美精品一区在线发布 | 亚洲视频在线免费观看 | 成人免费观看男女羞羞视频 | 狠狠插天天干 | 精品国产一区二区三区久久久蜜月 | 精品毛片 | 五月激情婷婷在线 | 小草久久久久久久久爱六 | 亚洲啊v在线 | 午夜电影网| 久久久久久一区 | 久久久成人动漫 | 欧美日韩精品一区二区三区四区 | 视频二区| 国产精品国产精品国产专区不片 | 亚洲精品电影 | 成人高清视频在线观看 | 精品久久久久久久 | 56pao在线| 中文在线一区二区 | 一区二区三区四区毛片 | 二区三区视频 |