• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 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)存管理方案
    低碳生活,從命令行開始
    陈巴尔虎旗| 宜州市| 牡丹江市| 永清县| 伊川县| 阿合奇县| 内丘县| 康定县| 鄄城县| 白朗县| 厦门市| 都兰县| 阜城县| 桓台县| 罗甸县| 西贡区| 常熟市| 江永县| 泸州市| 梨树县| 旌德县| 鄂州市| 青神县| 永善县| 托克逊县| 青海省| 蒙自县| 岚皋县| 怀安县| 五台县| 宝坻区| 稷山县| 红桥区| 河间市| 澳门| 邵武市| 永平县| 黄大仙区| 鹿邑县| 社会| 彭阳县|