亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PowerCLI腳本,利用哈希表對參數進行轉換

發布時間:2020-07-10 19:04:12 來源:網絡 閱讀:679 作者:forsk 欄目:系統運維

在使用PowerCLI的編寫powershell腳本的過程中,有這樣一個需求:例如需要重啟一個指定的虛擬機,運行腳本時輸入的參數,參數為虛擬機的名字,但是虛擬機的名字在建立的時候可能是千奇百怪,我們想把參數與虛擬機名稱對應,實現參數能夠自動轉化轉換為想要的虛擬機的名字。
powershell的哈希表可以滿足這種需求。
還有這樣一個需求:在創建虛擬機的時候,我們不僅要輸入主機參數,LUN參數,模板參數。這些參數的名字不好記憶,或者太長,使用時比較麻煩;也可以通過哈希表的轉換,將簡潔的參數在腳本內部自動轉換為對應的參數。


eg:如下是創建虛擬機是哈希表的應用

#定義參數
param(
[string]$VMname,[string]$vmhostname,[string]$datastore,
[string]$template
)

#在命令窗口中添加powercli模塊
try{
add-pssnapin vmware.vimautomation.core -ErrorAction SilentlyContinue
}
catch{}

#定義模板哈希表
$TemplateGroup=@{"centos"="centos7.4";"windows"="server2008sp1"}
$Template=$TemplateGroup["$template"]

#定義主機哈希表
$HostName=@{"1.23"="192.168.1.23";"1.24"="192.168.1.24";"1.56"="192.168.1.56";

}
$VMHost=$HostName["$vmhostname"]

#定義存儲哈希表
$DatastoreGroup=@{"A"="storage1";"B"="storage2";"C"="storage3"
                  "D"="storage4";"E"="storage-7","storage-5","storage-6"
}

<#假若集群的主機有多個LUN,我們可以隨機選取一個值,eg:E對應的有多個LUN,我們使用時可以使用Get-Random來隨機獲取一個LUN#>
if($datastore -eq "E"){
    $Datastore=Get-Random $DatastoreGroup["$datastore"]
}else{
    $Datastore=$DatastoreGroup["$datastore"]
}

#連接Vsphere
Connect-VIServer -server serverIP -Protocol https -User username -Password password

#根據模板創建VM
if($template -eq "windows"){
    new-vm -name $VMname  -host $VMHost -template $Template -datastore $Datastore -OSCustomizationSpec win2008
}else{
    new-vm -name $VMname  -host $VMHost -template $Template -datastore $Datastore
}

#斷開連接
Disconnect-VIServer -server serverIP -Confirm:$false

執行命令時,就可以使用簡潔易于記憶的參數

.\newvmscript.ps1  vmname 1.23 windows E
or
.\newvmscript.ps1 -VMname vmname -vmhostname 1.23 -datastore E -template windows

eg:如下為一個重啟業務機器的例子

param([string]$Name)

try{
add-pssnapin vmware.vimautomation.core -ErrorAction SilentlyContinue
}
catch{}

$NameGroup=@{"業務域名1"="虛擬機名稱1";"業務域名2"="虛擬機名稱2";
}

$VMName=$NameGroup["$Name"]

connect-viserver -server serverip -user username -password password -port 443

Restart-VM -VM $VMName -Confirm:$false -RunAsync

Disconnect-VIServer -Confirm:$false

運行腳本時:.\restartscript.ps1 業務域名1

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安图县| 绥中县| 娄烦县| 南靖县| 海林市| 怀来县| 澄城县| 牟定县| 上饶市| 昌黎县| 图木舒克市| 磐安县| 凤山县| 汽车| 灵山县| 吴忠市| 石城县| 玛曲县| 伊春市| 合江县| 彭阳县| 青河县| 股票| 太原市| 舟曲县| 油尖旺区| 竹北市| 白银市| 芜湖县| 西乌珠穆沁旗| 安阳县| 嘉兴市| 黄浦区| 高邑县| 呼图壁县| 佛冈县| 开化县| 麦盖提县| 聊城市| 甘谷县| 新河县|