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批量导出模板的描述信息以及导入相关推荐

  1. 【python】批量导出IEEE的文献信息为段落文本

    问题背景:想了解一个领域最近在做些什么,要做一个全面的survey,但是从IEEE导出的.csv文件不是那么方便看. 为了get重要信息(文章名.刊源.摘要),想把这些信息整合到一个方便阅览的文件(. ...

  2. UG中批量导出点坐标等信息

    1.打开3d:过滤器筛选点:鼠标框选你要导出的点:再被选中点上右键点属性,会出现弹窗 2.弹窗选择-常规-信息图标 3.然后就会显示这些点的相关信息,点击另存为TXT 3.然后用excel打开导出的t ...

  3. PHP自动批量生成发卡平台卡密信息并导入数据库

    首先先去网站生成卡密,下载到本地后上传到服务器 卡密文件为22.txt 可以看到以换行区分卡密的,可以用读取每一行的方法进行插入数据到库 所以上代码 <?php /** 逐行读取TXT文件 */ ...

  4. 《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——2.19 使用bcp实施批量导出...

    本节书摘来自异步社区出版社<PowerShell V3-SQL Server 2012数据库自动化运维权威指南>一书中的第2章,第2.19节,作者:[加拿大]Donabel Santos, ...

  5. Java 批量导出包含图片的Word文档

    业务需求:客户需要在资产管理系统中批量导出包含资产二维码等信息的Word文档,如下图 导出Word文档效果如下图 需求就摆在面前,接下来就是技术选型问题了.由于一开始做编程是从OC入门的,但是由于OC ...

  6. Google earth Engine批量导出影像集合collection

    0.背景 不少朋友问我,GEE该如何批量导出一个数据集. 因此,我把自己常用的导出collection方法写出来,可能有人用得到. 1.数据筛选 首先,在GEE中导入自己需要的矢量边界ROI,这个RO ...

  7. Azure PowerShell (14) 批量导出Azure ASM ACL和ARM NSG配置信息

    <Windows Azure Platform 系列文章目录> 最近有一个客户需求,需要批量导出Azure Classic VM的ACL (Access Control List), 还有 ...

  8. powershell 批量导出Access图片(OLE对象)到文件

    01 前言 这是大半年前的事了,帮一朋友研究如何批量导出Access里面存的图片(OLE对象).Access没有提供直接导出图片的方法,很郁闷.查过一番资料,都不是很满意,决定自己鼓捣.经过N天的奋战 ...

  9. gerrit 描述信息批量导入导出

    shell命令以json格式导出仓库描述信息 ssh -p 29418 21036735@xxxxx gerrit ls-projects --all --format JSON >json p ...

最新文章

  1. MySQL配置文件my.cnf中文版(转载)
  2. linux .o文件 复制,Linux I/O实现文件复制
  3. 算法-排序-冒泡排序
  4. Spring webflow:上传多个文件
  5. bzoj 1014: [JSOI2008]火星人prefix(splay维护区间+Hash+二分)
  6. 《大话》之 三大工厂
  7. Chrome浏览器V43版本不支持silverlight 5.0的解决办法
  8. java第二天学习笔记
  9. 基于linux的触摸屏组态软件,基于LINUX的控制系统组态软件研究与开发
  10. ssm教务排课系统MVC学校专业选修课程安排选课信息jsp源代码数据库mysql
  11. linux有没有右键解压文件夹,压缩解压文件无需右键可以这样操作
  12. 谷歌是怎么对网站进行排名的
  13. 告别电子小白,8个优选DS1302数字时钟方案大合辑
  14. 免签出国,我们这些懒人的长假有救了
  15. 某赛一道misc_gif隐写_rar密码暴力破解_AAencode
  16. Polymer大气校正环境配置
  17. html在线阅读小说网页制作模板 小说书籍网页设计 大学生静态HTML网页源码 dreamweaver网页作业 简单网页课程成品
  18. 2月VR大数据:硬件份额变化不大,PS VR2首发游戏超50款
  19. IDEA汉化(英转中)和中转英教程
  20. Go语言学习:编译成windows和linux上可执行文件

热门文章

  1. 【2018.2.28】思考与练习
  2. 外媒:英特尔移动业务正分崩离析,收购联发科或能自救
  3. Codeforces Beta Round #96 (Div. 1) D. Constants in the language of Shakespeare 贪心
  4. 你以为的ASP.NET文件上传大小限制是你以为的吗
  5. BCH再迎升级,真正比特币即将归来!
  6. 比特币现金正走在被广泛应用的路上
  7. Zabbix 监控获取apache_status
  8. iOS 中 OC项目使用swift第三方工具(OC、swift 混合)
  9. 飞塔安全实验室:2016年物联网将成为新的战场
  10. javascript之判断专题