中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

嵩明县| 迭部县| 临沂市| 浪卡子县| 团风县| 祁门县| 卢龙县| 汾阳市| 玉溪市| 通辽市| 大竹县| 娱乐| 枣阳市| 西安市| 新沂市| 广汉市| 耿马| 芮城县| 牡丹江市| 龙州县| 巴中市| 临高县| 肥乡县| 平定县| 固阳县| 武安市| 元谋县| 广昌县| 平顺县| 邵阳市| 呼伦贝尔市| 曲靖市| 休宁县| 道孚县| 乐亭县| 兴文县| 东乡| 哈尔滨市| 波密县| 闻喜县| 怀宁县|