亚洲乱码午夜理论不卡公息肉欲_无遮挡一级毛片在线播放_国产AV无码国产永久播放_中出欧美美脚在线观看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

PowerShell與Framework集成實(shí)現(xiàn)參數(shù)自動(dòng)傳遞

發(fā)布時(shí)間:  2012/7/12 10:16:26
在實(shí)際工作中,系統(tǒng)管理員可能會(huì)遇到這種情況:前面一個(gè)命令的結(jié)果,剛好是后面一個(gè)命令的參數(shù)。這種需求在Linux等操作系統(tǒng)中可以輕松的實(shí)現(xiàn),但是在傳統(tǒng)的Windows環(huán)境中,實(shí)現(xiàn)起來(lái)卻有一定的困難。不過(guò)在Win2008中,可以將PowerShell與Framework集成,來(lái)實(shí)現(xiàn)這種需求。

  一、傳統(tǒng)解決方案的弊病。

  由于Windows的Shell是運(yùn)行在基于文本的環(huán)境當(dāng)中。為此為了自動(dòng)化目標(biāo)就必須要對(duì)輸出進(jìn)行格式化操作。如現(xiàn)在需要將某個(gè)命令的結(jié)果傳遞到下一個(gè)命令作為參數(shù),就必須要對(duì)前面一個(gè)命令的結(jié)果的輸出進(jìn)行格式化操作,以滿足于第二個(gè)命令的要求。也就是說(shuō),無(wú)法直接將第一個(gè)命令的結(jié)果傳遞到后面一個(gè)命令中去。

  這種格式化的操作,從理論上說(shuō)是可行的。但是,通常情況下將文本數(shù)據(jù)轉(zhuǎn)換為可用的格式中間需要大量的動(dòng)作。有時(shí)候即使文本內(nèi)容一個(gè)字沒(méi)變,而只是格式不同,進(jìn)行格式化操作仍然需要耗費(fèi)大量的資源。所以在以前的應(yīng)用環(huán)境中,絕大部分系統(tǒng)工程師對(duì)于這個(gè)需求是望而生畏。不過(guò)在Win2008中,可以將Powershell與Frame結(jié)合,解決了這個(gè)難題。

  PowerShell可以將數(shù)據(jù)不作為純文本形式進(jìn)行傳送,而是以FrameWork對(duì)象的形式來(lái)檢索數(shù)據(jù)。如此的話,在不需要對(duì)結(jié)果進(jìn)行格式化的情況下,后面一個(gè)命令就可以直接使用前面一個(gè)命令的結(jié)果來(lái)作為參數(shù)。為此系統(tǒng)不需要再修改文本數(shù)據(jù),而只需要通過(guò)名稱來(lái)引用所需要的數(shù)據(jù)即可。在這個(gè)過(guò)程中,系統(tǒng)管理員并不需要編寫(xiě)代碼來(lái)將數(shù)據(jù)轉(zhuǎn)換為有用的格式,而只需要引用對(duì)象并按需要來(lái)操作對(duì)象即可。

  二、反射機(jī)制實(shí)現(xiàn)命令之間的自動(dòng)詢問(wèn)過(guò)程。

  反射是Framework中的一個(gè)機(jī)制。通過(guò)這個(gè)機(jī)制,可以讓系統(tǒng)檢查對(duì)象并檢索他們支持的方法、屬性、字段等等。由于PowerShell是建立在這個(gè)機(jī)制之上的,為此系統(tǒng)工程師可以通過(guò)發(fā)射機(jī)制來(lái)實(shí)現(xiàn)參數(shù)的自動(dòng)傳遞。簡(jiǎn)單的說(shuō),就是通過(guò)Get-member Cmdlet來(lái)實(shí)現(xiàn)類似的功能。此時(shí)這個(gè)Cmdlet會(huì)幫助系統(tǒng)工程師分析通過(guò)管道傳遞的對(duì)象或者對(duì)象集合。筆者這里舉一個(gè)簡(jiǎn)單的例子。如可以通過(guò)下面的命令分析某個(gè)命令返回的對(duì)象并顯示相關(guān)的屬性和方法。

  Get-process | get-member.

  其實(shí)用過(guò)Linux操作系統(tǒng)的用戶,對(duì)于這個(gè)命令是非常熟悉的。在Linux中,就是通過(guò)“|”符號(hào)將前后兩個(gè)命令聯(lián)系起來(lái)的。不過(guò)這里需要注意的是,雖然在Windows操作系統(tǒng)中也可以通過(guò)這個(gè)符號(hào)實(shí)現(xiàn)類似的功能,不過(guò)其背后的實(shí)現(xiàn)機(jī)制是不同的。在Windows中,在這里是借助了Framework框架下的發(fā)射機(jī)制。有時(shí)候我們也將這個(gè)過(guò)程叫做詢問(wèn)對(duì)象機(jī)制。在實(shí)際工作中,會(huì)非常的有用。

  三、ETS擴(kuò)展類型系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)類型的自動(dòng)匹配。

  眾所周知,無(wú)論是函數(shù)還是過(guò)程,都要強(qiáng)調(diào)數(shù)據(jù)類型的相互匹配。在參數(shù)自動(dòng)傳遞的過(guò)程之中,如果數(shù)據(jù)類型不匹配,仍然無(wú)法滿足自動(dòng)傳遞的需求。為了解決這個(gè)數(shù)據(jù)類型匹配的問(wèn)題,系統(tǒng)中引入了ETS機(jī)制。

  在說(shuō)這個(gè)機(jī)制之前,筆者先給大家消除一個(gè)誤區(qū)。筆者以前在跟一些系統(tǒng)工程師交流的時(shí)候,他們認(rèn)為PowerShell中的腳本是無(wú)類型的。其實(shí)這大錯(cuò)特錯(cuò)。雖然在實(shí)際工作中,很少需要指定變量的數(shù)據(jù)類型,但是這并不是說(shuō)其沒(méi)有數(shù)據(jù)類型。這就好像一個(gè)人不說(shuō)話,并不能夠代表其就是啞巴。從本質(zhì)上說(shuō),PowerShell是數(shù)據(jù)類型驅(qū)動(dòng)的。也就是說(shuō)需要受到數(shù)據(jù)類型匹配的約束。只不過(guò)系統(tǒng)采用了ETS擴(kuò)展類型系統(tǒng)機(jī)制,在工作時(shí)會(huì)對(duì)不同的數(shù)據(jù)類型自動(dòng)進(jìn)行轉(zhuǎn)換。真是因?yàn)檫@個(gè)機(jī)制,系統(tǒng)工程師不需要考慮對(duì)象的類型。因?yàn)镻owerShell能夠適合不同的數(shù)據(jù)類型并向管理員顯示其對(duì)某個(gè)對(duì)象的理解。在了解這個(gè)機(jī)制時(shí),筆者認(rèn)為需要抓住如下幾個(gè)要點(diǎn)。


本文出自:億恩科技【www.ruiliheng.com】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線