• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Invoke-Command 命令使用技巧

      2020-12-30 21:54:37上海崔陽(yáng)
      網(wǎng)絡(luò)安全和信息化 2020年7期
      關(guān)鍵詞:命令行字符串數(shù)組

      ■ 上海 崔陽(yáng)

      編者按:在PowerShell 中,Invoke-Command 命令用于在本地或遠(yuǎn)程計(jì)算機(jī)上運(yùn)行命令,并從命令返回所有輸出,包括錯(cuò)誤信息。本文筆者通過(guò)實(shí)踐總結(jié)出使用技巧,分享給讀者。

      首先,當(dāng)我們要在本地或遠(yuǎn)程計(jì)算機(jī)上運(yùn)行一條命令時(shí),我們可以用以下命令行去實(shí)現(xiàn):

      In voke-Comm and-Computer Name < MACHINENAME > -Scriptblock {}

      其 中,MACHINENAME 是本地或遠(yuǎn)程計(jì)算機(jī)的名字,COMMAND 是 你 要 運(yùn) 行的 命 令,例 如:Invoke-Command -ComputerName bjbffo 3 0 ads 001 -Script Block {g e tchilditem d:}

      通常情況下,你可能需要去執(zhí)行一系列(多條)的命令才能達(dá)到你的操作目標(biāo),這時(shí)候如果你仍然使用上面的命令形式,每次Invoke 一條命令,你就需要進(jìn)行一次建立連接和釋放連接的過(guò)程。為了提高命令執(zhí)行速度,降低系統(tǒng)開銷,我們可以引入-Session 參數(shù),如下所示:

      In voke-Comm and-Session -Scriptblock {}

      這樣你先定義了一個(gè)Session 變 量,Session 變量可以重復(fù)使 用, 每 次Invoke 一條命令時(shí)把Session變量直接加進(jìn)去就可以使用了,不用重復(fù)定義。 例 如:$s = New-PSSession -ComputerName BJBFFO30ADS001

      In voke-Comm and-Session $s -ScriptBlock {get-childitem c:}

      In voke-Comm and-Session $s -ScriptBlock {get-childitem d:}

      在執(zhí)行Invoke-Command命令時(shí),我們也可以傳入外部參數(shù),通常情況下,我們可以傳入以下類型的參數(shù):

      傳入字符串:

      Invoke-Command -Scrip tBlock { param([string]$tem) $item } -ArgumentLi st “Hello”

      傳入變量:

      $somestring = “Hello again!”

      Invoke-Command -Scrip tBlock { param([string]$item) $item } -ArgumentL ist $somestring

      傳入數(shù)組:

      In voke-Comm and-ScriptBlock { param([arr ay]$item) $item } -Argume ntList @("Hello", "World")

      當(dāng)傳入數(shù)組時(shí),你會(huì)發(fā)現(xiàn)結(jié)果只會(huì)返回當(dāng)前的第一個(gè)元素,為了解決這個(gè)問(wèn)題,我們需要在數(shù)組前加入一個(gè)逗號(hào),引入空數(shù)組元素,如下所示:

      $array = @("hello","w orld")

      In voke-Comm and-ScriptBlock { param([ar ray]$item) $item } -Argu mentList @(,$array)

      我們還可以用Invoke-Command 來(lái)遠(yuǎn)程地執(zhí)行本 地 的function,這 時(shí)候我們要把原來(lái)命令行中 的“Scriptblock {}”更 改 為“scriptblock ${function:}”,如下所示:

      function Get-ItemsCr eatedLastweek

      {

      $date = (get-date).AddDays(-7)

      $items = Get-ChildIte m D: |?{$_.lastwritetime -gt $date}

      return $items

      }

      Invoke-Command -Compu terName shaffo30lg001 -ScriptBlock ${function:Get-ItemsCreatedLastwee k}

      當(dāng)需要遠(yuǎn)程執(zhí)行的本地function 有參數(shù)時(shí),可以有以下幾種執(zhí)行方式。

      當(dāng)參數(shù)為單參數(shù)字符串類型時(shí):

      function Get-ItemsCre atedByDate

      {

      param($date)

      $items = Get-ChildIt em D: |?{$_.lastwriteti me -gt $date}

      return $items

      }

      Invoke-Command -ComputerName shaffo30lg001 -ScriptBlock ${function:G et-ItemsCreatedByDate} ` -ArgumentList '2019-10-13'

      當(dāng)參數(shù)為單參數(shù)數(shù)組類型時(shí):

      function Get-ItemsCr eatedByDate

      {

      param($locations)$items = @()

      foreach($lct in $loca tions)

      {

      $items += Get-ChildIt em $lct

      }

      return $items

      }

      $locations = @("c:","D:")

      Invoke-Command -Compu terName shaffo30lg001 -Sc riptBlock ${function:Get-I tems Created By Date} `-ArgumentList @(,$locat ions)

      當(dāng)參數(shù)為

      多參數(shù)類型時(shí):

      function Get-exItem

      {param($location,$date)

      $items = Get-ChildIte m $location |?{$_.lastwri tetime -gt $date}

      return $items

      }

      Invoke-Command -Compu terName shaffo30lg001 -ScriptBlock ${function:G et-exItem} -ArgumentList ` @('D:21V-GalOpsDigicerts','2018-05-23')

      當(dāng)參數(shù)類型為數(shù)組時(shí):

      function Get-ItemsCre atedByDate

      {param($date,$locations)

      $items = @()

      foreach($lct in $loca tions)

      {

      $items += Get-ChildItem $ lct | ? { $ _ .lastwritetim e -gt $date}

      return $items

      }

      }

      $locations = @("c:","d:")

      Invoke-Command -Compu terName shaffo30lg001 -ScriptBlock ${function:Get-ItemsCreatedByDate} ` -ArgumentList @('2019-10-10',@(,$locations))

      以上是命令的使用技巧,大家可以作為參考,并加以體會(huì)和運(yùn)用。

      猜你喜歡
      命令行字符串數(shù)組
      JAVA稀疏矩陣算法
      JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
      Windows 10新版CMD更新
      Linux系統(tǒng)下GRIB2格式GFS資料轉(zhuǎn)為GRIB1格式的方法詳解
      尋找勾股數(shù)組的歷程
      一種新的基于對(duì)稱性的字符串相似性處理算法
      依據(jù)字符串匹配的中文分詞模型研究
      VB數(shù)組在for循環(huán)中的應(yīng)用
      考試周刊(2012年88期)2012-04-29 04:36:47
      一種針對(duì)Java中字符串的內(nèi)存管理方案
      低碳生活,從命令行開始
      台北县| 丹凤县| 怀来县| 法库县| 醴陵市| 鄄城县| 冕宁县| 历史| 富裕县| 丽水市| 荆州市| 始兴县| 宁波市| 鹤壁市| 禄丰县| 涟水县| 岑巩县| 南投市| 昌乐县| 沅江市| 腾冲县| 公主岭市| 宜章县| 涿鹿县| 井陉县| 怀宁县| 台湾省| 靖江市| 敦化市| 彭阳县| 丁青县| 榆中县| 浙江省| 陆河县| 孟连| 汕尾市| 永清县| 肇州县| 江油市| 黄石市| 资溪县|