PowerShell install 一键部署virtualbox

news2024/11/22 21:36:06

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安装目录位置,可以根据自己的实际目录和磁盘进行更改
  • 测试环境在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 $fileName
    Invoke-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 -IncludeAllSubFeature

Write-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} -Wait

Write-Host "install virtualbox" -ForegroundColor Green
Start-Process -FilePath $drive\$virtualbox_temporary\$virtualbox_exe -ArgumentList "--silent", "--msiparams", "INSTALLDIR=`"c:\VirtualBox`"" -Wait

Write-Host "Create virtualbox environment variables" -ForegroundColor Green
$env:path += ";$drive\$virtualbox"
setx PATH $env:path /M

Write-Host "VirtualBox_Extension_Pack extension install" -ForegroundColor Green
echo "Y" | VBoxManage extpack install --replace $drive\$virtualbox_temporary\$VirtualBox_Extension_Pack

Write-Host "VirtualBox_Extension_Pack check" -ForegroundColor Green
VBoxManage list extpacks

Write-Host "bootstrap VirtualBox" -ForegroundColor Green
Start-Process schtasks {/create /tn VirtualBox /tr c:\VirtualBox\VirtualBox.exe /sc ONLOGON} -Verb runas

Write-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.coloradmin.cn/o/540082.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

优思学院|什么是8D报告?

企业中的问题&#xff0c;就像生活中的麻烦事&#xff0c;总是层出不穷&#xff0c;让人头疼不已。有时候&#xff0c;我们可能会遇到一些棘手的问题&#xff0c;简单的方法已经无法解决了&#xff0c;这时候&#xff0c;8D问题解决法就是一把利器。 所以&#xff0c;我们不应…

档案室库房十防要求及措施

档案室“十防”措施 根据档案保护技术的要求&#xff0c;结合本公司档案实际&#xff0c;现制定“十防”措施如下&#xff1a; 一、 防火 1、 指定专人负责防火安全工作。 2、 定期检查手动灭火器&#xff0c;发现灭火器表压低于绿色区域时&#xff0c;必须及重新充装。 3、…

Consule系列:Consul实现详解

Consul 的实现 Consul 使用 Consensus 协议提供一致性(Consistency)—— CAP 定义的一致性。Consensus 协议是基于 “Raft: In search of an Understandable Consensus Algorithm” 实现的。 Consul Protocol Raft 算法 Raft 是基于 Paxos 的一致性算法。 与 Paxos 相比&#x…

Java每日一练(20230518) 移除元素、跳跃游戏II、复原IP地址

目录 1. 移除链表元素 &#x1f31f; 2. 跳跃游戏 II &#x1f31f;&#x1f31f; 3. 复原 IP 地址 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 移…

在 Mac M2 (arm64架构)上编译安装 GmSSL 工具

GmSSL是一个开源密码工具包&#xff0c;为GM/T系列标准中规定的中国国家密码算法和协议提供一级支持。作为OpenSSL项目的一个分支&#xff0c;GmSSL提供了与OpenSSL的API级兼容性&#xff0c;并维护了所有功能。现有的项目&#xff0c;如ApacheWeb服务器&#xff0c;只需稍加修…

前端面试题整理3

目录 1.不使用promise怎么实现一个异步编程? 2.this的指向有哪些&#xff1f; 3.Ref和reactive响应式的区别&#xff1f; 4.首屏加载优化。如何处理&#xff1f; 5.axios封装&#xff1f; 6.css为什么使用预处理&#xff1f; 7.从1000-9999里面取出AAAA这种数字&#xf…

从价格战中突围,仅10个月开发出一款车,安全性能靠谱吗?

经历了2023年初的价格战&#xff0c;一场关于智能汽车的淘汰赛似乎正式开始了。 尽管“降价热潮”还在继续&#xff0c;但简单的价格竞争毕竟非长久良策。 一方面&#xff0c;为了维持收益&#xff0c;部分车企通过减配、降低服务成本&#xff0c;甚至将降本压力给到上游供应…

【这个命令的 7 种用法!你确定不会用?】

可以很肯定地说&#xff0c;find 命令是 Linux 后台开发人员必须熟知的操作之一&#xff0c;除非您使用的是 Windows Server。 对于技术面试&#xff0c;它也是一个热门话题。让我们看一道真题&#xff1a; 如果你的 Linux 服务器上有一个名为 logs 的目录&#xff0c;如何删…

Spring 事务和事务传播机制

1.什么是事务&#xff08;为什么要有事务&#xff09; 事务就是将一组操作封装成一个执行单元&#xff08;封装到一起&#xff09;&#xff0c;要么一起成功&#xff0c;要么一起失败。 在打账的情景上&#xff0c;A向B转账200 元&#xff0c;A的账户-200.B的账号200&#xff…

基于直流微电网的光伏并网功率转换装置设计与运行仿真

摘要 微电网是目前国内外应用较为广泛的一种绿色可再生能源&#xff0c;近几年我国微电网产业的发展十分迅速。然后&#xff0c;越来越多的微电网系统建立并网&#xff0c;微电网产生的电能受外界因素影响较大&#xff0c;具有一定的随机性和波动性&#xff0c;给并网后的电力系…

SaaS 产品如何选择设计协作工具?

文章内容转载腾讯 CoDesign 随着互联网及其衍生技术的发展&#xff0c;企业比以往更依赖内容去吸引、去培养自己的用户&#xff0c;寻求转化。小鹅通就是在微信生态中帮助企业通过知识服务去实现内容分发和流量聚合&#xff0c;帮助企业沉淀用户&#xff0c;提供深度私域运营服…

回收站清空了怎么找回文件?3种办法恢复彻底删除文件!

电脑回收站大家都有一定的了解&#xff0c;只要在回收站的文件没有被删除的时候是可以还原的&#xff0c;但是回收站删除了&#xff0c;文件就无法直接恢复。回收站清空了怎么找回文件? 别着急&#xff0c;今天小编就分析几种恢复回收站删除数据的办法&#xff1a; 方法一&am…

(转载)从0开始学matlab(第8天)—matlab画图入门

1.基本画图方式 MATLAB 的扩展性和机制独立的画图功能是一个极其重要的功能.这个功能使数据画图变得十分简单 . 画一个数据图 , 首先要创建两个向量&#xff0c;由 x, y 构成 , 然后使用 plot 函数. 例如 , 假设我们要画出函数 yx -10x10 的图象 , 定义域为&#xff3b; …

分享两组不同的3D VR卡片

最近某音上出现了很多VR视频&#xff0c;转动手机可以看到手机界面未显示出来的场景。这种事情我觉得我们也可以做到。 所以两种不同的3D VR卡片来了&#xff1a; 第一种是横向或上下可以拖动极大的距离。卡片上的信息会随着拖动移动&#xff0c;但不会显示更多的信息&#x…

二、LLC 谐振变换器

半桥 LLC 谐振变换器主电路结构 如图所示&#xff0c;半桥 LLC 谐振变换器主电路可以分为四个部分&#xff0c;即&#xff1a;逆变网络、谐振网络、变压器及整流滤波网络。两个 MOSFET&#xff08;S1、S2&#xff09;以及它们的体二极管&#xff08;D1、D2&#xff09;和寄生电…

svn清理以下路径失败显示乱码问题

报错&#xff1a; svn作为我们经常使用的版本管理服务器&#xff0c;在使用过程中经常需要通过clean up操作来完成本地文件与服务器文件信息及版本信息同步&#xff0c; 然而有时右键会在执行清理命令时提示“清理以下路径失败&#xff1a; xxx 文件名、目录名或卷标语法不…

DevOps 的道术法器,探寻 DevOps “立体化”实践之旅

​引言 随着业务的发展&#xff0c;软件发布迭代的频率越来越高&#xff0c;传统的瀑布型模式已经不能满足快速交付的需求&#xff0c;DevOps 也因此受到持续关注。越来越多的公司开始接受并尝试使用 DevOps&#xff0c;期望能使得软件开发中的构建、测试与发布工作变得更加快捷…

进程与线程的理解

目录 一、进程 1、进程的简介&#xff1a; 2、进程的组成&#xff1a; 3、进程的状态 4、进程控制&#xff1a; 5、进程的创建&#xff1a; 6、进程的终止 7、进程的阻塞和唤醒 8、进程上下文切换 二、线程 1、线程&#xff1a; 2、线程的优缺点&#xff1a; 三、进程与线程 比…

火山引擎 DataLeap:3 步打造“指标管理”体系,幸福里数据中心是这么做的

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 一家企业&#xff0c;为什么要搭建指标体系&#xff1f; 一句话总结来说&#xff0c;全面、合理的指标体系可以帮助企业统一目标&#xff0c;将业务环节量化&#…

1073. 负二进制数相加(leetcode,模拟,数学分析)-------------------c++实现

1073. 负二进制数相加&#xff08;leetcode,模拟,数学分析&#xff09;-------------------c实现 题目表述 给出基数为 -2 的两个数 arr1 和 arr2&#xff0c;返回两数相加的结果。 数字以 数组形式 给出&#xff1a;数组由若干 0 和 1 组成&#xff0c;按最高有效位到最低有…