这是我的情况:
我的服务器具有2种可能的配置:不需要特殊处理的2 TB HDD或需要UEFI BIOS和GPT分区来引导OS的3 TB HDD。
我正在尝试创建一个安装USB密钥,该密钥可以检测BIOS是“旧版”还是“UEFI”并相应地执行部署脚本。
我一直在努力寻找一个可以做出区分但无济于事的WMI。
我最接近解决方案的是这篇文章:
http://social.technet.microsoft.com/Forums/en-US/winserverManagement/thread/6cbb488d-3062-4aad-b712-7a9e4d045b13
detectefi.exe在检测BIOS类型方面效果很好,但是我无法输出其结果,所以我不知道如何使用它。
我有两个问题:
最佳答案
如果有人有兴趣,我如何解决这个问题。我刚刚创建了一个VBS链接到.exe
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++ - 使用vbs从WinPE中检测BIOS:Legacy或UEFI//将结果从.exe输出到.txt,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10884495/