Skip to content

Commit

Permalink
Add script to helpers to enable full range of logging for SetupAPI
Browse files Browse the repository at this point in the history
Signed-off-by: Vitalii Chulak <[email protected]>
  • Loading branch information
Jedoku authored and YanVugenfirer committed Aug 15, 2024
1 parent f5f84b1 commit c87ea56
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 17 deletions.
50 changes: 50 additions & 0 deletions Tools/helpers/EnableSetupAPILogging.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# This script enables detailed logging for the Windows Setup API
# by setting the appropriate registry key.

# Copyright (c) 2024 Red Hat, Inc. and/or its affiliates. All rights reserved.

# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. Neither the names of the copyright holders nor the names of their contributors
# may be used to endorse or promote products derived from this software
# without specific prior written permission.
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.


# Ensure the script runs with an unrestricted execution policy (for Windows 10 and Windows Server 2016)
# Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process -Force

$RegistryPath = "HKLM:\Software\Microsoft\Windows\CurrentVersion\Setup"
$ValueName = "LogMask"
$ValueData = 0xFFFFFFFF
$ValueDataDecimal = 4294967295

if (-Not (Test-Path $RegistryPath)) {
New-Item -Path $RegistryPath -Force | Out-Null
}

Set-ItemProperty -Path $RegistryPath -Name $ValueName -Value $ValueData -Type DWord

$SetValue = Get-ItemProperty -Path $RegistryPath -Name $ValueName

if ($SetValue.LogMask -eq $ValueDataDecimal) {
Write-Output "Successfully set LogMask registry value to 0x$($ValueData.ToString('X'))"
} else {
Write-Output "Failed to set LogMask registry value."
}
23 changes: 6 additions & 17 deletions Tools/helpers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ This script enables the "Always Keep Memory Dump" feature in Windows by setting
1. Sets the `AlwaysKeepMemoryDump` registry value to 1 under `HKLM:\System\CurrentControlSet\Control\CrashControl`.
2. Verifies the change and outputs the result.

## Planned Scripts
### EnableSetupAPILogging.ps1

Additional helper scripts are planned for this directory. They may include:
This script enables detailed logging for the Windows Setup API by setting the appropriate registry key.

- System information collection
- Driver installation and management
- Performance optimization for KVM guests
- Troubleshooting tools
#### What it does

1. Sets the LogMask registry value to 0xFFFFFFFF (4294967295 in decimal) under HKLM:\Software\Microsoft\Windows\CurrentVersion\Setup.
2. Verifies the change and outputs the result.

## Usage Guidelines

Expand All @@ -50,17 +50,6 @@ Additional helper scripts are planned for this directory. They may include:
- Log files
- Modified system settings
## Contributing
Contributions to this collection of helper scripts are welcome. If you have ideas for new scripts or improvements to existing ones, please consider the following:
1. Ensure your script has a clear, descriptive name.
2. Include detailed comments explaining the scripts purpose and usage.
3. Follow existing style conventions and PowerShell best practices.
4. Update this README with information about new scripts.
5. If applicable, include error handling and logging.
## Disclaimer
These scripts may modify system settings. Use them at your own risk and always back up your system before making changes.

0 comments on commit c87ea56

Please sign in to comment.