设为首页 收藏本站
查看: 1122|回复: 0

[经验分享] PowerShell 自动备份hyper

[复制链接]

尚未签到

发表于 2018-6-7 23:39:00 | 显示全部楼层 |阅读模式
  1、配置脚本策略(一)
·         脚本执行策略级别
DSC0000.png

2、配置脚本策略(二)
·         因为Windows PowerShell中的脚本在默认情况下并没有启用,因此在部署脚本时,需启用对脚本文件的支持。如果没有启用支持就尝试运行Windows Powershell脚本,就会看到错误的信息,脚本也无法运行成功,错误信息提示框如下:
DSC0001.png

·         要启用支持,只要以管理员身份运行Powershell,然后输入如下命令即可启用支持:
·         Set-ExecutionPolicy unrestricted 或 Set-ExecutionPolicy bypass

3、导入PsHyperV库
·         将下载的PsHyperV文件夹放在C盘根目录下
·         在此文件夹中有一个powershell文件:C:\PsHyperV\HyperV\HyperV.psd1
·         要使用此库中的命令集,每次在使用时需导入此Module,命令如下:
   Import-Module C:\PsHyperV\HyperV\HyperV.psd1

4、PowerShell备份命令( 注:#后为注释)
·         Import-Module C:\PsHyperV\HyperV\HyperV.psd1
·                   #导入下载的库文件Module      
·         $BackupDriver = “D:”    #备份驱动盘符
·         $BackupFolder = $(get-date -uformat “%Y%m%d”)     #备份文件夹名,格式为年月日(如20120506)
·         New-Item -path $BackupDriver -name $BackupFolder -type directory   
·                  #在指定目录下创建以当前日期为文件名的文件夹(格式:年月日,如20120506)
·         $args = “wxppsc1”,”wxppsc8”
·                  #循环参数,即需要备份的虚拟机名字,用双引号和逗号隔开
·         ForEach($i in $args)       #循环函数,依次执行$args里指定的虚拟机
·         {
·          $strFile = “C:\VMBackup_Log\”+ $i +“_”+$(get-date -uformat “%Y%m%d%H%M”)+“log.txt“
·                    #日志文件,描述命令是否成功,成功会写入JobStarted,失败时写入Failed,日志文件格式为:wxppsc1_201205061124log.txt
·          Write-Host "It is backing up Server "$i",Please wait...";
·          ForEach-Object -begin `       #重音符表示行的延续
·          {
·            Shutdown-VM $i –Force     #关闭虚拟机
·            start-sleep 120     #从发送shutdown命令时算起,指定等待关机时间,即等待120秒后开始执行Export-VM命令
·            Export-Vm $i $BackupDriver\$BackupFolder\$i"_"$(get-date -uformat "%Y%m%d%H%M") -Copystate –wait
·                     #--watit参数等待任务完成后执行下一条命令,即等待Export任务完成,导出格式为:wxppsc1_201205061124
·            Start-sleep 120      #Export完成后,等待120秒执行下一条命令,即开启电脑
·            start-vm $i              #开启虚拟机
·            start-sleep 120    #等待120秒后执行下一个循环
·          }`
·         -Process {         
·                         }`
·          -End {Write-Host "The command completed at $(get-date)"} | Out-File $StrFile
·         }

5、 把上述命令保存为一个ps1为后缀的文件,然后在任务计划里设定一个Schedule定时启动这个PowerShell批处理程序,就能对Hyper-V里的虚拟机实现导出,关闭,开启了。

相关文档及附件已上传,也可到如下网站下载:http://pshyperv.codeplex.com/


附件:http://down.51cto.com/data/2362374

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-520512-1-1.html 上篇帖子: 如何转换VMware ESX虚拟机到Hyper 下篇帖子: 在VMware Fusion 5 虚拟机里运行Hyper
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表