尝试创造。初始化并格式化VHD磁盘

2024-03-26

一些背景:我在实验室环境中工作,遇到了许多问题,需要创建 VHD 并将其附加到虚拟机以进行压力测试。我想出了一个脚本,允许用户使过程尽可能简单,如下:

$vms=Get-VM
$val = 0

Write-Host "This script is set up for quickly creating and initilizing VHDs"
$Path = Read-Host "Please enter the path you want to create the drives to. Use the formate in this example <E:\VHDS\>"
$fileName = Read-Host "The Drive will be <target>-<number>.vhdx.  Please Name the target "

$vhdSize = 1GB
$vmAmount = Read-Host "How many Drives should be attached to each VM?"

foreach ($vm in $vms)
{
    $n = $vm.Name

    while ($val -ne $vmAmount)
    {
        $vhdPath = ($Path + $fileName + '-' + $val + '.vhdx')
        New-VHD -Path $vhdPath -SizeBytes $vhdSize -Fixed | Mount-VHD -Passthru | Initialize-Disk -Passthru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -Confirm:$false -Force | Dismount-VHD -Passthru
        Add-VMHardDiskDrive -VMName $n -Path $vhdPath 
        $val++
    }
}

当我运行代码时,它给出一个错误,指出 Dismount-VHD 不适用于给定的路径。我尝试进入并为其提供 $vhdPath 变量,但它仍然被阻止。

我遇到的另一个问题是 while 语句没有增加 $val。当它进入下一条语句时,它会抛出错误并停止,表示相关虚拟机已经附加了磁盘。

任何帮助,将不胜感激。


我了解 PowerShell 中管道的美妙之处,但这有点太过了:)。如果您拆分大型管道,一切都会正常进行。

    $vhdPath = (Join-path $Path  ($fileName + '-' + $val + '.vhdx'))
    New-VHD -Path $vhdPath -SizeBytes $vhdSize -Fixed 
    Mount-VHD -Path $vhdPath
    $disk = get-vhd -path $vhdPath
    Initialize-Disk $disk.DiskNumber
    $partition = New-Partition -AssignDriveLetter -UseMaximumSize -DiskNumber $disk.DiskNumber
    $volume = Format-Volume -FileSystem NTFS -Confirm:$false -Force -Partition $partition
    Dismount-VHD -Path $vhdPath
    Add-VMHardDiskDrive -VMName $n -Path $vhdPath 

你想做的事情的主要问题是卸载VHD不接受管道输入,即使接受,它也不知道如何处理卷对象(这是格式-音量)

如果你想保留管道,请将Dismount-VHD -Path $vhdPath在单独的线路上,一切都应该很好。

另外,在创建路径时,您应该使用连接路径以避免出现问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试创造。初始化并格式化VHD磁盘 的相关文章

  • 使用 powershell 和 regexp 替换整行文本?

    我有编程背景 但对 powershell 脚本和正则表达式还相当陌生 正则表达式一直困扰着我 我之前的项目也从未 强迫 我学习它 考虑到这一点 我有一个文件 其中有一行文本需要替换 我不能依赖于知道该行存在于哪里 它前面是否有空格 或者被替
  • 自动执行将制表符分隔文件中的值乘以 -1 来求反的过程

    我一直在 Excel 中手动处理大量文件 我已经进行了一些搜索 但还没有找到关于如何以自动化方式实现此过程的明确最佳实践 我的手动流程如下 我有一个 tab 制表符分隔 文件 每行总共有 8 个 列 我需要对每行最后 5 列的数值求负 我一
  • 使用 powershell 从远程服务器获取服务状态

    如何获取需要用户名和密码登录的远程计算机的服务状态 我正在尝试使用以下代码找到解决方案 serviceStatus get service ComputerName machineName Name service 默认语法为get ser
  • Powershell逐字读取文本文件

    因此 我试图计算文本文件的单词数 但是当我执行 get content 时 数组会逐个字母地读取它们 因此它不允许我逐个单词地比较它们 我希望你们能帮助我 清除主机 功能 function Get Articles foreach Word
  • Powershell 范围处理 v2/v3 的未记录更改?

    背景 我一直在编写一个 powershell 脚本 用于将文件从 Windows Server 08 使用 Powershell 2 x 上的 Sharpoint 2010 实例迁移到 Windows Server 12 使用 Powers
  • Powershell send-mailmessage - 向多个收件人发送电子邮件

    我有这个 powershell 脚本来发送带有附件的电子邮件 但是当我添加多个收件人时 只有第一个收件人收到消息 我已经阅读了文档 但仍然无法弄清楚 谢谢 recipients Marcel lt email protected cdn c
  • Azure DevOps 通过 REST API 获取链接到工作项的提交

    有没有办法获取链接到仅给定工作项 ID 的工作项的 Git 提交 我正在使用 PowerShell 和this https learn microsoft com en us rest api azure devops wit work 2
  • 服务无法启动虚拟机“DockerDesktopVM”,因为 Hyper-V 组件之一未运行

    我有 Window Server 2016 2019 虚拟机 Openstack 至此Hyper V安装成功 但无法启动 MobyLinuxVM ExposeVirtualizationExtensions 已通过 PowerShell 在
  • 使用 powershell 在 MS-Access 中创建查询

    我需要自动从 Microsoft Access DB 中提取一些数据 数据库是由第三方提供给我的 因此我无法控制收到数据库时的内容 我需要使用 Powershell 自动从数据库中提取数据 有没有办法使用powershell在accessD
  • 为什么“Get-ChildItem -File | Get-FileHash”有效?

    我对 Bash 比对 Powershell 更熟悉 有时我对后者的对象模型感到困惑 看着Get FileHash 的文档 https learn microsoft com en us powershell module microsoft
  • Bash 'printf' 相当于命令提示符?

    我希望在 Windows 命令提示符下将一些字符串输入通过管道传输到一个小型 C 程序 在 bash 中我可以使用 printf AAAAA x86 x08 x04 xed program 本质上 我需要一些东西来转义命令提示符中的那些十六
  • 使用 Powershell 从 JSON 获取值

    非常初学者的问题 我正在尝试使用 Powershell 从 JSON 获取某些值 具体来说 我想列出服务 测试00000 and FAKE only 当我运行下面的脚本时 我得到 TEST00000 FAKE Enabled True Pr
  • 从所有通讯组中删除所有前雇员

    因此 今天我被分配的任务是从所有 DL 中删除域中的所有前员工 他们在 AD 中拥有自己的文件夹 有没有什么方法可以快速做到这一点 或者至少比单独检查每个并转到 gt 的成员删除所有更快 Thanks 编辑以添加更多信息 有 822 个用户
  • Jenkins 中的 Powershell 转义路径字符

    我有一个声明性管道 应该执行 powershell 步骤来安装路径 路径作为参数提供 parameters string name UNC defaultValue server01 lab local shared data descri
  • 无法在 Windows docker 容器中配置 ASP.NET HTTPS 端点

    在 Windows docker 容器中运行 ASP NET Core 时出现此错误 Unhandled Exception System InvalidOperationException Unable to configure HTTP
  • 如何清除整个终端(PowerShell)

    我有一个问题 在powershell中使用clear或cls命令仅清除终端的可见部分 我想知道如何清除整个终端 顺便说一句 我使用 VSCode tl dr 问题是关于清零的both屏幕和回滚缓冲区 in the 综合终端 of 视觉工作室
  • 使用 PowerShell 检查 AD 中是否存在组

    我想为该组创建代码来检查该组是否存在 但是 我无法开始工作 因为它成功地将用户和组的部分成员仅添加到一个组中 而不是其他组 因为我设法在活动目录中创建一个组并从 csv 中读取 这是我的代码和结果 似乎在成功添加用户并添加组成员后我总是收到
  • Powershell 设置盖子关闭操作

    我想自动设置 Windows 7 在我的工作笔记本电脑上合上盖子时所执行的操作 因为每次登录时都会通过 GPO 重置该操作 我知道我可以在批处理脚本中使用 powercfg 命令来实现此目的 powercfg setacvalueindex
  • dotnet 核心并行或同时构建

    In this https github com gatimus DotnetParallelBuild解决方案我有2个应用程序 AppA AppB共享类库Shared 我尝试过自动化这些并行的构建 运行电源外壳 https github
  • 作为服务运行时未找到 PowerShell 模块

    我有一个项目 我将 Office 365 许可证分配给用户 有一个 Web 项目允许管理员查看可用许可证并为用户选择许可证 在后台 有一项服务每 15 分钟执行一次实际的许可证分配 以及许多其他任务 我们不直接分配许可证的原因是用户可能尚未

随机推荐

  • 使用predict()函数时出错

    我应该将输出转换为ar ols成为某种类型predict可以接受吗 y rnorm 100 0 1 z rnorm 100 0 1 yz cbind y z gt output ar ols yz aic F order max 2 dem
  • GIT 命名我的存储库

    我正在跟进本指南 http progit org book ch4 2 html它说要跑的地方 git clone bare stef project stef project git I get fatal repository stef
  • linux下用boost::thread创建boost::asio工作线程

    我在 Windows 下使用 boost 一段时间了 现在需要迁移几个现有的应用程序以在 Ubuntu 12 上运行进行演示 该应用程序创建两个工作线程 一个用于记录传入的 UDP 数据 另一个用于侦听单独的端口并将该数据打印到屏幕上 我已
  • 有没有办法从 Excel VBA 中的轴导出图表?

    我有许多用于操作 Excel 图表的通用 VBA 宏 例如 将一个图表叠加在另一个图表之上 重新缩放轴 或者通过键入公式向图表添加自定义曲线 例如 y x 2 1 在文本框中 这些宏是不带任何参数的子宏 我将它们存储在 xlam 加载项中
  • 包含按位与 (&) 或按位异或 (^) 的运算是否有等价的十进制?

    考虑以下表达式 其中两个操作数都是十进制 a b or a b 我知道运算符对操作数的二进制数字执行什么操作 因此我知道答案如何 的a b or a b被计算 我不知道这些运算是否可以转换为十进制形式 例如 我们可以说a lt
  • 将 std::unique_ptr 保存为不完整类型的类的构造函数定义之间的差异

    下面的代码编译正常 参见下面的 Golbolt 链接 include
  • Ruby:递归方法

    def reverse append arr n return arr if n lt 0 reverse append arr n 1 arr lt lt n arr end reverse append 4 gt 0 1 2 3 4 我
  • 我怎样才能在edittext中的每个字符下划线?

    我正在尝试在android中编写一个像刽子手这样的猜词游戏 假设这个词是 苹果 我想显示 5 个下划线来告诉玩家该单词有 5 个字符长 并且它们应该如下显示 填充 我想不出有什么办法可以轻松做到这一点 我发现this https stack
  • MaterialComponents 中 android:background 的替代品是什么?

    问题 android background 在 MaterialComponents 中没有生效 在我的项目中 我使用的是 AppCompat
  • 根据项目更改列表视图行的颜色

    我想根据列表视图的状态更改其颜色 我有两个状态 我想将 待处理 更改为红色 将 完成 更改为蓝色 这怎么可能 我不知道 因为这是我第一次在列表视图中执行此操作 也许是这样的 Dim ListView1 As ListView New Lis
  • 如何在 iOS 上从相机胶卷中检索最新的照片?

    我很难弄清楚如何在没有用户干预的情况下以编程方式检索相机胶卷中的最新照片 需要明确的是 我不想使用图像选择器 我希望应用程序在打开时自动抓取最新的照片 我知道这是可能的 因为我见过类似的应用程序可以做到这一点 但我似乎找不到任何相关信息 一
  • 捕获父容器上的单击事件,但不捕获子容器上的单击事件

    用下面的例子 HTML div class parent div class child div div CSS parent align items center background blue display flex justify
  • 如何在 Flutter 中使用另一个提供程序内部的提供程序

    我想创建一个具有以下功能的应用程序authentication service根据用户角色具有不同的权限和功能 例如消息 所以我创建了一个Provider用于用户和登录管理 另一个用于用户可以看到的消息 现在 我想在用户登录时获取消息 一次
  • 实体框架 - 对唯一索引进行 UPSERT

    我对我的问题进行了一些搜索 但找不到任何真正有帮助的东西 所以我的问题 困境仍然是这样的 我知道 mysql 数据库有一个独特的索引系统 可用于使用以下格式在同一查询中插入 更新 insert into t a b c values 1 1
  • 在 AWS Cognito Oauth2 令牌中包含用户详细信息

    我正在将 AWS cognito 与 NodeJS 后端 API 结合使用 并希望在访问令牌返回中包含用户详细信息 oauth2 令牌用户池客户端应用程序中定义范围的端点 另外如果我使用管理员启动验证API 无法将范围包含在返回访问令牌中
  • Pandas date_range - 减去 numpy timedelta 给出奇怪的结果,时间变得不是 0:00:00

    我正在尝试使用 pandas date range 功能生成一组日期 然后我想迭代这个范围并从每个日期中减去几个月 确切的月份数在循环中确定 以获得新的日期 当我这样做时 我得到了一些非常奇怪的结果 MVP get date range d
  • 如何从 int 转换为泛型 Integer?

    我对 Java 比较陌生 并且习惯了 C 中的泛型 因此在处理这段代码时遇到了一些困难 基本上 我想要一个通用方法来通过按键获取存储的 Android 首选项 并且此代码虽然丑陋 但适用于布尔值 但不适用于整数 当它因 ClassCastE
  • 如何使用 Postman 查询 Exchange EWS?

    使用Postman 如何查询本地 Exchange 2016 EWS 我有 EWS 的组织 URLhttps my organization net EWS Exchange asmx 我们使用的是 Exchange 2016 没有 Off
  • 在项目之间共享自定义 PHP 代码的最佳方式

    我正在开发一个分布式环境 主要是使用 PHP 我的很多项目共享一些相同的代码 例如我的日志代码 基于 log4php 但添加了一些自定义内容 我可以在每个项目中复制粘贴此代码 但自然地 如果我更改其中的任何内容 我需要将其重新粘贴到各处并
  • 尝试创造。初始化并格式化VHD磁盘

    一些背景 我在实验室环境中工作 遇到了许多问题 需要创建 VHD 并将其附加到虚拟机以进行压力测试 我想出了一个脚本 允许用户使过程尽可能简单 如下 vms Get VM val 0 Write Host This script is se