当前位置: 首页 > news >正文

PowerShell install 一键部署virtualbox

VirtualBox 前言

VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。Innotek 以 GNU General Public License (GPL) 释出 VirtualBox,并提供二进制版本及 OSE 版本的代码。使用者可以在VirtualBox上安装并且执行Solaris、Windows、DOS、Linux、OS/2 Warp、BSD等系统作为客户端操作系统。已由甲骨文公司进行开发,是甲骨文公司xVM虚拟化平台技术的一部分。

download VirtualBox

VirtualBoxVirtualBox 历史版本下载VirtualBox扩展包文档
downloaddownloaddownload参考
PDF文档

前提条件

  • 开启wmi,配置网卡,参考 
  • 默认服务器CPU虚拟化功能开启的,PC需要人工干预开启CPU虚拟化功能

创建一键部署VirtualBox

  • 最终实现在线下载VirtualBox,VirtualBox扩展,安装VirtualBox,VirtualBox扩展,环境变量,开机启动VirtualBox,环境依赖安装net,vc库,删除下载的文件及临时目录。
  • c:\VirtualBox # VirtualBox安装目录位置,可以根据自己的实际目录和磁盘进行更改
  • VirtualBox-7.0.8-156879-Win.exe --help # 安装参数请查看,版本不同安装参数不一样哦 
  • 测试环境在Windows Server 2019 
  • PC或者服务器开启CPU虚拟化技术
  • 依赖VisualC++ ,所有包含历史版下载
powershell-install-virtualbox.ps1
<# Powershell Install virtualbox
+++++++++++++++++++++++++++++++++++++++++++++++++++++
+  _____                       _____ _          _ _ +
+ |  __ \                     / ____| |        | | |+
+ | |__) |____      _____ _ _| (___ | |__   ___| | |+
+ |  ___/ _ \ \ /\ / / _ \ '__\___ \| '_ \ / _ \ | |+
+ | |  | (_) \ V  V /  __/ |  ____) | | | |  __/ | |+
+ |_|   \___/ \_/\_/ \___|_| |_____/|_| |_|\___|_|_|+
+ +++++++++++++++++++++++++++++++++++++++++++++++++++# Powershell Install virtualbox
# .\powershell-install-virtualbox.ps1
#> $drive="c:"
$virtualbox_temporary="virtualbox_temporary"
$virtualbox="VirtualBox"
$virtualbox_exe="VirtualBox-7.0.8-156879-Win.exe"
$vc_redist_64="vc_redist.x64.exe"
$vc_redist_86="vc_redist.x86.exe"
$VirtualBox_Extension_Pack="Oracle_VM_VirtualBox_Extension_Pack-7.0.8-156879.vbox-extpack"Write-Host "Create a directory for storing virtualbox temporary" -ForegroundColor Green
New-Item -ItemType Directory $drive\$virtualbox_temporary$virtualbox_related_download = @("https://download.virtualbox.org/virtualbox/7.0.8/$virtualbox_exe","http://download.virtualbox.org/virtualbox/7.0.8/$VirtualBox_Extension_Pack","https://aka.ms/vs/17/release/$vc_redist_64","https://aka.ms/vs/17/release/$vc_redist_86"
)foreach ($url in $virtualbox_related_download) {$fileName = Split-Path $url -Leaf$filePath = Join-Path $drive\$virtualbox_temporary $fileNameInvoke-WebRequest -Uri $url -OutFile $filePath
}Write-Host "install NET-Framework 3.5 & 4.7" -ForegroundColor Green
#Get-WindowsFeature *NET*
Install-WindowsFeature -Name NET-Framework-Features -IncludeAllSubFeature
Install-WindowsFeature -Name NET-Framework-45-Features -IncludeAllSubFeatureWrite-Host "install vc_redist x86 x64" -ForegroundColor Green
Start-Process -FilePath "$drive\$virtualbox_temporary\$vc_redist_64" -ArgumentList {/q /install} -Wait
Start-Process -FilePath "$drive\$virtualbox_temporary\$vc_redist_86" -ArgumentList {/q /install} -WaitWrite-Host "install virtualbox" -ForegroundColor Green
Start-Process -FilePath $drive\$virtualbox_temporary\$virtualbox_exe -ArgumentList "--silent", "--msiparams", "INSTALLDIR=`"c:\VirtualBox`"" -WaitWrite-Host "Create virtualbox environment variables" -ForegroundColor Green
$env:path += ";$drive\$virtualbox"
setx PATH $env:path /MWrite-Host "VirtualBox_Extension_Pack extension install" -ForegroundColor Green
echo "Y" | VBoxManage extpack install --replace $drive\$virtualbox_temporary\$VirtualBox_Extension_PackWrite-Host "VirtualBox_Extension_Pack check" -ForegroundColor Green
VBoxManage list extpacksWrite-Host "bootstrap VirtualBox" -ForegroundColor Green
Start-Process schtasks {/create /tn VirtualBox /tr c:\VirtualBox\VirtualBox.exe /sc ONLOGON} -Verb runasWrite-Host "Delete related virtualbox_temporary installation packages and temporary directories" -ForegroundColor Green
Remove-Item -Path "$drive\$virtualbox_temporary\*.exe", "$drive\$virtualbox_temporary" -Recurse -Force

执行安装

.\powershell-install-virtualbox.ps1

结果输出展示

命令行打开appwiz.cpl程序和功能查看VirtualBox.exeVirtualBox.exe是否安装

powershell 全局打开 VirtualBox

VirtualBox.exe

 VirtualBox扩展查看是否安装

http://www.lryc.cn/news/68512.html

相关文章:

  • CTF权威指南 笔记 -第四章Linux安全机制-4.1-Stack Canaries
  • KDZD400Q便携式三氯乙烯浓度检测仪
  • C++11 部分新特性
  • selenium通过performance log获取状态码,Conten-Type,以及重定向路径
  • GL绘制自定义线条3_自定义线帽
  • 【AGC】新版鸿蒙崩溃SDK集成使用方法
  • vue-7:组件库(移动端vant)(PC端element)
  • JavaScript中splice()、slice()、split()三种方法的区别,及使用详细
  • Linux更新操作系统Openssh版本9.3p1(源码编译安装)
  • MS COCO数据集介绍
  • Java之线程池
  • 让你的网站变得更智能 - B2 Pro主题问答模块新增OpenAI ChatGPT机器人自动回答功能
  • 仓库信息管理系统设计与实现
  • 初识Java多线程编程
  • 最新入河排污口设置论证、水质影响预测与模拟、污水处理工艺分析及典型建设项目入河排污口方案报告书实例分析
  • awk指令的详细指南
  • 解密Netty中的Reactor模式
  • 这是一个黑科技:C++爬虫~(文末报名C/C++领域新星计划)
  • 2023 年第八届数维杯数学建模挑战赛 赛题浅析
  • Spring Boot单元测试
  • 实景三维浪潮翻涌,新技术“席卷”石家庄!
  • 【Python】使用小脚本
  • 技术日志2023-5-18
  • JUC之锁
  • C++中的 cout 和 printf 用法
  • Maven基础使用
  • 【C++ 入坑指南】(06)运算符
  • 了解一下js中的函数式编程
  • 动态HTTP代理在linux里的使用
  • 软考证书值得考吗?怎么考?