I am using the following Powershell DSC Configuration to disable the visual effects.
Configuration OSConfig
{
param
(
[parameter()]
[string]
$NodeName = 'localhost'
)
# It is best practice to always directly import resources, even if the resource is a built-in resource.
Import-DscResource -Name Service
Import-DSCResource -Name WindowsClient
Import-DscResource -Name Registry
Import-DscResource -Name WindowsFeature
Import-DscResource -Name WindowsOptionalFeature
Node $NodeName
{
# The name of this resource block, can be anything you choose, as long as it is of type [String] as indicated by the schema.
Registry VisualEffects
{
Ensure = "Present"
Key = "HKLM:\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects"
ValueName = "VisualFXSetting"
ValueData = "2"
ValueType = "Dword"
}
}
}
After i run the Start-DSCConfiguration Command i can see that visualfxsetting value has updated to 2. But in the GUI(Under Advance System Properties -> Visual effects) its still showing as "let computer choose what's best for you" and not "adjust for best performance". Any thougts about this?
After setting the new value in the registry, you need to let Windows Explorer know something has changed.
A computer restart will do that, but you may try simply restarting the explorer process:
Another approach could be using Win32 API like this:
Hope that helps