PowerShell针对SCVMM批量导出模板的描述信息以及导入
SCVMM的模板也会给Windows Azure Pack使用,这个时候如果手头有很多很多的节点需要导入导出,会是非常麻烦的一个事情,手动改的工作量很大。
比如说下面这张图,一个vhdx文件包含至少有名称、系列、版本、操作系统、以及本来路径的名字,另外如果是给Windows Azure Pack使用,可能还包含一个tag。这些属性都需要一一输入,一两个可能你还愿意自己手动修改,但是多了呢?不仅容易出错,挣钱干活的速度也大大降低了。解决这个问题同样使用PowerShell完成,用到的方法不多,依然是博客以前提到的一些方法,进行了整合。
首先我需要获取到原始vhdx文件的名称,它包含在“路径”属性中,类似下面的形式
\\vm121.contoso.com\MSSCVMMLibrary\M-CentOS64.vhdx
我只需要M-CentOS64.vhdx部分,第一次,我用了一个很傻的方法,下面是伪代码
[code=ps;toolbar:false">$GHD = Get-SCVirtualHardDisk #这是一种效率比较低的方法 $2b = $GHD.name $2b $zz = (Get-SCVirtualHardDisk -name $2b).SharePath $zz = $zz -replace "\\", "" #必须填写vhdx文件所在的库服务器名和库共享名 $zz = $zz -replace "vm121.contoso.com", "" $zz = $zz -replace "MSSCVMMLibrary", "" Add-Member -InputObject $tagx -MemberType NoteProperty -Name "vhdxname2" -value $zz -Force #写入变量到vhdxname2这个属性当中 }那么上面这个方法为什么说比较傻呢?因为它只是用$GHD = Get-SCVirtualHardDisk
foreach($tagx in $GHD)
{[string]$tagxx =$tagx.tag
Add-Member -InputObject $tagx -MemberType NoteProperty -Name "tagx2" -value $tagxx -Force
$2b = $tagx.name
$zz = (Get-SCVirtualHardDisk -name $2b).SharePath
$zz =$zz.Split("\")[-1]
Add-Member -InputObject $tagx -MemberType NoteProperty -Name "vhdxname2" -value $zz -Force }
$GHD|select Name,FamilyName, OperatingSystem, Release,tagx2,vhdxname2,VirtualizationPlatform| Export-Csv c:/GRlistold.csv -Force -Encoding utf8[p]
- PowerShell针对SCVMM批量导出模板的描述信息以及导入
- foxmail邮箱 邮件地址信息 以及邮件内容信息的导入导出
- MongoDB数据库的文件备份恢复以及文件导入导出
- 帝国建站系统中的模板导入和导出的问题
- 转载】dbms_stats 导入导出表统计信息
- Elasticsearch的数据导出和导入操作(elasticdump工具),以及删除指定type的数据(delete-by-query插件)
- java导入与导出excel,兼容excel2003以及excel2007
- MySQL 导入导出 以及 相关常见异常解决
- java导入与导出excel,兼容excel2003以及excel2007
- mysql 导出导入数据库以及函数、存储过程
- MySql表以及数据导入导出
- iptables防火墙详解(三)规则的导出、导入以及编写防火墙脚本
- mongodb数据导入导出以及备份恢复
- 关于oracle导出导入以及关于oracle的$符号==SP2-0734: unknown command beginning "exp username..." - rest of line ignored.
- 利用POI将数据库表结构信息导入excel模板中
- ASP.NET之Excel下载模板、导入、导出操作
- mongodb数据导入导出以及备份恢复
- 解析PL/SQL Developer导入导出数据库的方法以及说明
- Linux C/C++ 模板:针对类型信息的特化
- paip 自定义输入法多多输入法词库的备份导出以及导入