Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

How to Use Set-FirmwareEnvironmentVariable in Windows

The Set-FirmwareEnvironmentVariable function is used to set environment variables in the firmware environment of a computer. This function is particularly relevant in systems that use UEFI (Unified Extensible Firmware Interface) firmware. While Set-FirmwareEnvironmentVariable is more commonly associated with Linux systems, Windows also provides ways to interact with firmware settings, though not directly through a similar command. In Windows, you can manage firmware settings using PowerShell cmdlets and Windows Management Instrumentation (WMI). This article will guide you on how to manage firmware environment variables in Windows.

Examples:

  1. Using PowerShell to Manage UEFI Firmware Settings:

    To manage UEFI firmware settings, you can use the Get-WmiObject cmdlet in PowerShell. Below is an example of how to retrieve UEFI firmware settings.

    # Retrieve UEFI firmware settings
    Get-WmiObject -Namespace "root\wmi" -Class "Msvm_VirtualSystemSettingData"

    This command will list various settings related to the UEFI firmware.

  2. Setting UEFI Firmware Variables:

    To set UEFI firmware variables, you can use the SetFirmwareEnvironmentVariable function available in the Windows API. This requires writing a small C++ program. Below is an example of how you might do this:

    #include <windows.h>
    #include <iostream>
    
    int main() {
        LPCWSTR lpName = L"MyVariable";
        LPCWSTR lpGuid = L"{00000000-0000-0000-0000-000000000000}";
        BYTE Data[4] = {1, 0, 0, 0};
    
        if (SetFirmwareEnvironmentVariable(lpName, lpGuid, Data, sizeof(Data))) {
            std::wcout << L"Firmware environment variable set successfully." << std::endl;
        } else {
            std::wcout << L"Failed to set firmware environment variable. Error: " << GetLastError() << std::endl;
        }
    
        return 0;
    }

    This example sets a firmware environment variable named "MyVariable" with a GUID of {00000000-0000-0000-0000-000000000000} and a data value of 1.

  3. Using BCDEdit to Manage Boot Configuration:

    The bcdedit tool can be used to manage boot configuration data, which indirectly affects firmware settings. Below is an example of how to use bcdedit to set a firmware-related setting.

    bcdedit /set {current} safeboot minimal

    This command sets the current boot entry to boot into Safe Mode with minimal drivers.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.