gpt4 book ai didi

c++ - Detect BIOS from WinPE : Legacy or UEFI, using vbs//Outputting results from a .exe to .txt 文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:03:32 26 4
gpt4 key购买 nike

这是我的场景:

我的服务器有 2 种可能的配置:不需要特殊处理的 2 TB HDD 或需要 UEFI BIOS 和 GPT 分区来启动操作系统的 3 TB HDD。

我正在尝试创建一个单一的安装 USB key ,它能够检测 BIOS 是“传统”还是“UEFI”并相应地执行部署脚本。

我努力寻找可以区分的 WMI,但无济于事。

我最接近解决方案的是这篇文章: http://social.technet.microsoft.com/Forums/en-US/winserverManagement/thread/6cbb488d-3062-4aad-b712-7a9e4d045b13

detectefi.exe 在检测 BIOS 类型方面工作得很好,但我无法输出它的结果,所以我不知道如何使用它。

我有两个问题:

  1. 是否有任何 WMI 可用于区分我的 2 个设置。

  2. (如果问题 1 的答案是否定的)有没有办法将 C++ 编译的 .exe 文件的结果输出到 .txt 或任何其他形式并利用结果(我没有 C++ 技能完全没有)

最佳答案

如果有人对我如何解决问题感兴趣。我刚刚创建了一个链接到 .exe 的 vbs

    Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("detectefi.exe")
Set objStdOut = objWshScriptExec.StdOut

dim isLegacy
dim isUefi

isLegacy = false
isUefi = false

While Not objStdOut.AtEndOfStream
strLine = objStdOut.ReadLine

if strLine = "Legacy" then
isLegacy = true
end if

if strLine = "UEFI" then
isUefi = true
end if
Wend


if isLegacy then
wscript.echo "this is legacy"

set objShell = Wscript.CreateObject("WScript.Shell")
objShell.Run "2TBdeploy.cmd",1,True
set objShell = Nothing

end if


if isUefi then
wscript.echo "this is UEFI"

set objShell = Wscript.CreateObject("WScript.Shell")
objShell.Run "3TBdeploy.cmd",1,True
set objShell = Nothing

end if

关于c++ - Detect BIOS from WinPE : Legacy or UEFI, using vbs//Outputting results from a .exe to .txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10884495/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com