国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Invoke-Command 命令使用技巧

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

■ 上海 崔陽

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

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

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

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

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

In voke-Comm and-Session -Scriptblock {}

這樣你先定義了一個Session 變 量,Session 變量可以重復(fù)使 用, 每 次Invoke 一條命令時把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ù):

傳入字符串:

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ù)組時,你會發(fā)現(xiàn)結(jié)果只會返回當(dāng)前的第一個元素,為了解決這個問題,我們需要在數(shù)組前加入一個逗號,引入空數(shù)組元素,如下所示:

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

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

我們還可以用Invoke-Command 來遠(yuǎn)程地執(zhí)行本 地 的function,這 時候我們要把原來命令行中 的“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ù)時,可以有以下幾種執(zhí)行方式。

當(dāng)參數(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ù)組類型時:

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ù)類型時:

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ù)組時:

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))

以上是命令的使用技巧,大家可以作為參考,并加以體會和運用。

猜你喜歡
命令行字符串數(shù)組
JAVA稀疏矩陣算法
電腦報(2022年13期)2022-04-12 00:32:38
JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
電腦報(2020年24期)2020-07-15 06:12:41
Windows 10新版CMD更新
Linux系統(tǒng)下GRIB2格式GFS資料轉(zhuǎn)為GRIB1格式的方法詳解
尋找勾股數(shù)組的歷程
一種新的基于對稱性的字符串相似性處理算法
依據(jù)字符串匹配的中文分詞模型研究
VB數(shù)組在for循環(huán)中的應(yīng)用
考試周刊(2012年88期)2012-04-29 04:36:47
一種針對Java中字符串的內(nèi)存管理方案
低碳生活,從命令行開始
无棣县| 西平县| 梁河县| 九龙城区| 剑阁县| 临沭县| 玛纳斯县| 湖北省| 波密县| 双江| 岗巴县| 呼图壁县| 滦南县| 绍兴市| 胶南市| 开封市| 嘉禾县| 敦化市| 磐安县| 敖汉旗| 湘西| 达孜县| 宜川县| 桓台县| 甘谷县| 漯河市| 柳河县| 田阳县| 永清县| 宜州市| 庆阳市| 青浦区| 万盛区| 清涧县| 元氏县| 尚义县| 鄂托克前旗| 鲁山县| 德兴市| 静乐县| 成都市|