0

Linux 出身で、PowerShell スクリプトを使用して Veeam Backup ジョブの収集を自動化しようとしています。

PowerShell 配列がどのように機能するかを理解し始めたので、小さなテストを試してみました。

$users = 'mark','josh','stephen'
$city = 'seattle','boston','chicago'

for ($i = 0; $i -lt $users.Count; $i++) {
    Write-Host  $users[$i] 'live in' $city[$i]
}

出力:

マーク・ライブ・イン・シアトル
ジョシュはボストンに住んでいます
スティーブンはシカゴに住んでいます

しかし、文字列の代わりにコマンドを追加して 2 つの配列を変更すると、次のようになります。

$jobname = @(gwmi -Namespace "root/veeambs" -Class "job" | select typetostring, name | ft -HideTableHeaders | Out-String)
$isenabled = @(gwmi -Namespace "root/veeambs" -Class "job" | select typetostring, scheduleenabled | ft -HideTableHeaders | Out-String)

for ($i = 0; $i -lt $jobname.Count; $i++) {
    echo $jobname[$i] ' --> ' $isenabled[$i]
}

出力は次のとおりです。

             ジョブ1
             ジョブ2
             ジョブ3
             ジョブ4
             ジョブ5
             ジョブ6
             ジョブ7
             ジョブ8
             ジョブ9
             ジョブ10
             ジョブ11
             ジョブ12
             ジョブ13
             ジョブ14
             JOb15
             ジョブ16
             ジョブ17
             ジョブ18
             ジョブ19
             ジョブ20

 -->

                   間違い
                    真実
                    真実
                   間違い
                    真実
                    真実
                   間違い
                    真実
                    真実
                    真実
                    真実
                    真実
                    真実
                    真実
                    真実
                    真実
                    真実
                    真実
                    真実
                    真実

それ以外の:

ジョブ 1 --> 偽
Job2 --> True
Job3 --> True
Job4 --> 偽
等

コマンド全体を手動で実行すると、次のようになります。

PS> gwmi -ネームスペース "root/veeambs" -クラス "ジョブ" | typetostring、name、scheduleenabled を選択

typetostring name scheduleenabled
------------ ---- ---------------
             ジョブ 1 偽
             ジョブ 2 真
             Job3 真
             Job4 偽
             Job5 真
             Job6 真
             Job7 偽
             Job8 真
             Job9 真
             Job10 真
             Job11 真
             Job12 真
             Job13 真
             Job14 真
             Job15 真
             Job16 真
             Job17 真
             Job18 真
             Job19 真
             Job20 真

私はおそらく何か間違ったことをしている!

4

2 に答える 2