PowerShell针对SCVMM批量导出模板的描述信息以及导入
SCVMM的模板也会给Windows Azure Pack使用,这个时候如果手头有很多很多的节点需要导入导出,会是非常麻烦的一个事情,手动改的工作量很大。
比如说下面这张图,一个vhdx文件包含至少有名称、系列、版本、操作系统、以及本来路径的名字,另外如果是给Windows Azure Pack使用,可能还包含一个tag。这些属性都需要一一输入,一两个可能你还愿意自己手动修改,但是多了呢?不仅容易出错,挣钱干活的速度也大大降低了。解决这个问题同样使用PowerShell完成,用到的方法不多,依然是博客以前提到的一些方法,进行了整合。
首先我需要获取到原始vhdx文件的名称,它包含在“路径”属性中,类似下面的形式
\\vm121.contoso.com\MSSCVMMLibrary\M-CentOS64.vhdx
我只需要M-CentOS64.vhdx部分,第一次,我用了一个很傻的方法,下面是伪代码
$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这个属性当中 }
那么上面这个方法为什么说比较傻呢?因为它只是用-replace做了替换的方法,这个时候需要替换三次,第一次替换\,第二次替换库名字,第三次替换库共享名,最后剩下的就是文件名了。而且这种替换不是通用的,需要手动把变量写进去。
所以我采用了Split的分割方法,效率和通用性一下提高了
$2b = $tagx.name $zz = (Get-SCVirtualHardDisk -name $2b).SharePath $zz =$zz.Split("\")[-1]
这里的意思是说,用\分割,取最后一组数据。
好,我们来看看完整的取数据的代码
$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
取了之后,我们需要在新服务器上导入,拷贝上文的c:/GRlistold.csv,然后我们会用到另外一组代码,需要注意的是,在Windows Azure Pack环境中,tag可能是多个数组,这里我的方法只能输入一个数组,所以如果有需要,针对数组方面,还需要自己添加一下。
Import-Csv -Path c:/GRlistold.csv | foreach { $vhdxname = $_.Name $vhdxname2 = $_.vhdxname2 $OperatingSystem = $_.OperatingSystem $familyName = $_.FamilyName $release = $_.Release $tags = $_.tagx2 $VirtualizationPlatform = $_.VirtualizationPlatform $myVHD = Get-SCVirtualHardDisk -name $vhdxname Set-scvirtualharddisk –virtualharddisk $myVHD –OperatingSystem $OperatingSystem –FamilyName $familyName –Release $release –Tag $tags -name $vhdxname2 -VirtualizationPlatform $VirtualizationPlatform } Get-SCVirtualHardDisk |select name,FamilyName, OperatingSystem, Release,tag,VirtualizationPlatform|ft
PowerShell针对SCVMM批量导出模板的描述信息以及导入相关推荐
- 【python】批量导出IEEE的文献信息为段落文本
问题背景:想了解一个领域最近在做些什么,要做一个全面的survey,但是从IEEE导出的.csv文件不是那么方便看. 为了get重要信息(文章名.刊源.摘要),想把这些信息整合到一个方便阅览的文件(. ...
- UG中批量导出点坐标等信息
1.打开3d:过滤器筛选点:鼠标框选你要导出的点:再被选中点上右键点属性,会出现弹窗 2.弹窗选择-常规-信息图标 3.然后就会显示这些点的相关信息,点击另存为TXT 3.然后用excel打开导出的t ...
- PHP自动批量生成发卡平台卡密信息并导入数据库
首先先去网站生成卡密,下载到本地后上传到服务器 卡密文件为22.txt 可以看到以换行区分卡密的,可以用读取每一行的方法进行插入数据到库 所以上代码 <?php /** 逐行读取TXT文件 */ ...
- 《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——2.19 使用bcp实施批量导出...
本节书摘来自异步社区出版社<PowerShell V3-SQL Server 2012数据库自动化运维权威指南>一书中的第2章,第2.19节,作者:[加拿大]Donabel Santos, ...
- Java 批量导出包含图片的Word文档
业务需求:客户需要在资产管理系统中批量导出包含资产二维码等信息的Word文档,如下图 导出Word文档效果如下图 需求就摆在面前,接下来就是技术选型问题了.由于一开始做编程是从OC入门的,但是由于OC ...
- Google earth Engine批量导出影像集合collection
0.背景 不少朋友问我,GEE该如何批量导出一个数据集. 因此,我把自己常用的导出collection方法写出来,可能有人用得到. 1.数据筛选 首先,在GEE中导入自己需要的矢量边界ROI,这个RO ...
- Azure PowerShell (14) 批量导出Azure ASM ACL和ARM NSG配置信息
<Windows Azure Platform 系列文章目录> 最近有一个客户需求,需要批量导出Azure Classic VM的ACL (Access Control List), 还有 ...
- powershell 批量导出Access图片(OLE对象)到文件
01 前言 这是大半年前的事了,帮一朋友研究如何批量导出Access里面存的图片(OLE对象).Access没有提供直接导出图片的方法,很郁闷.查过一番资料,都不是很满意,决定自己鼓捣.经过N天的奋战 ...
- gerrit 描述信息批量导入导出
shell命令以json格式导出仓库描述信息 ssh -p 29418 21036735@xxxxx gerrit ls-projects --all --format JSON >json p ...
最新文章
- MySQL配置文件my.cnf中文版(转载)
- linux .o文件 复制,Linux I/O实现文件复制
- 算法-排序-冒泡排序
- Spring webflow:上传多个文件
- bzoj 1014: [JSOI2008]火星人prefix(splay维护区间+Hash+二分)
- 《大话》之 三大工厂
- Chrome浏览器V43版本不支持silverlight 5.0的解决办法
- java第二天学习笔记
- 基于linux的触摸屏组态软件,基于LINUX的控制系统组态软件研究与开发
- ssm教务排课系统MVC学校专业选修课程安排选课信息jsp源代码数据库mysql
- linux有没有右键解压文件夹,压缩解压文件无需右键可以这样操作
- 谷歌是怎么对网站进行排名的
- 告别电子小白,8个优选DS1302数字时钟方案大合辑
- 免签出国,我们这些懒人的长假有救了
- 某赛一道misc_gif隐写_rar密码暴力破解_AAencode
- Polymer大气校正环境配置
- html在线阅读小说网页制作模板 小说书籍网页设计 大学生静态HTML网页源码 dreamweaver网页作业 简单网页课程成品
- 2月VR大数据:硬件份额变化不大,PS VR2首发游戏超50款
- IDEA汉化(英转中)和中转英教程
- Go语言学习:编译成windows和linux上可执行文件
热门文章
- 【2018.2.28】思考与练习
- 外媒:英特尔移动业务正分崩离析,收购联发科或能自救
- Codeforces Beta Round #96 (Div. 1) D. Constants in the language of Shakespeare 贪心
- 你以为的ASP.NET文件上传大小限制是你以为的吗
- BCH再迎升级,真正比特币即将归来!
- 比特币现金正走在被广泛应用的路上
- Zabbix 监控获取apache_status
- iOS 中 OC项目使用swift第三方工具(OC、swift 混合)
- 飞塔安全实验室:2016年物联网将成为新的战场
- javascript之判断专题