PowerCLI脚本,利用哈希表对参数进行转换-创新互联

在使用PowerCLI的编写powershell脚本的过程中,有这样一个需求:例如需要重启一个指定的虚拟机,运行脚本时输入的参数,参数为虚拟机的名字,但是虚拟机的名字在建立的时候可能是千奇百怪,我们想把参数与虚拟机名称对应,实现参数能够自动转化转换为想要的虚拟机的名字。
powershell的哈希表可以满足这种需求。
还有这样一个需求:在创建虚拟机的时候,我们不仅要输入主机参数,LUN参数,模板参数。这些参数的名字不好记忆,或者太长,使用时比较麻烦;也可以通过哈希表的转换,将简洁的参数在脚本内部自动转换为对应的参数。

三江侗ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

新闻名称:PowerCLI脚本,利用哈希表对参数进行转换-创新互联
转载来源:https://www.cdcxhl.com/article38/dopcsp.html

成都网站建设公司_创新互联,为您提供关键词优化品牌网站建设商城网站全网营销推广做网站服务器托管

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站制作