BIS-F has own system optimizations (97_PrepBISF_PRE_BaseImage.ps1) for the Operating System, as describes here. In addition you can also trigger VMware OS Optimization Tool (vmOSOT) or Citrix Optimizer (CTXO) from BIS-F, configured in the BIS-F ADMX.
Note:If vmOSOT and/or CTXO is configured, some BIS-F system optimization will not be executed.
Global Optimizations:
- Delete Citrix Cache C:\Program Files (x86)\Citrix\System32\Cache*
- Delete Software Distribution C:\Windows\SoftwareDistribution\Download*
- Delete Windows Update Log C:\Windows\WindowsUpdate.log
- Purge DNS resolver Cache > ipconfig /flushdns
- Purge IP-to-Physical address translation tables Cache (ARP Table) > arp -d *
- Clear all event logs
- Disable Receive Side Scaling (RSS) > netsh.exe int tcp set global rss=disable
- Disable Data Execution Prevention > bcdedit.exe /set nx AlwaysOff
- Disable Startup Repair option > bcdedit.exe /set {default} bootstatuspolicy ignoreallfailures
- Disable New Network dialog
- Set-ItemProperty -Name NewNetworkWindowOff -Path
- ‘HKLM:\SYSTEM\CurrentControlSet\Control\Network’ -Type String -Value 0
- Set Power Saving Scheme to High Performance > powercfg.exe -s 8c5e7fdae8bf-4a96-9a85-a6e23a8c635c
- Reset Microsoft Distributed Transaction Service > msdtc.exe -reset
- Hide Vmware Tools icon in systray (If installed)
- Set-ItemProperty -Path ‘HKLM:\SOFTWARE\VMware, Inc.\VMware Tools’ -Name ‘ShowTray’ -Value ‘0’ -Type DWORD
- Disable VMware debug driver (If installed)
- Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\services\vmdebug’ -Name ‘Start’ -Value ‘4’ -Type DWORD
- Hide PVS Status icon in systray (If installed)
- New-Item -Path ‘HKLM:\SOFTWARE\CITRIX\ProvisioningServices\Status’ -Force | out-null; SetItemProperty -Path ‘HKLM:\SOFTWARE\CITRIX\ProvisioningServices\Status’ -Name ‘ShowIcon’ -Value ‘0’ -Type DWORD
- Delete WSUS – SusClientId (IF WSUS TargetGroup is enabled)
- Remove-ItemProperty -Path ‘HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate’ -Name ‘SusClientId’
- Delete WSUS – SusClientIdValidation (IF WSUS TargetGroup is enabled)
- Remove-ItemProperty -Path ‘HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate’ -Name ‘SusClientIdValidation’
- Set Windows Update Service to Disabled
- Set-Service -Name wuauserv -StartupType Disabled
- Cleaning directory $env:windirTemp and $env:temp
Controlled with BIS-F ADMX:
- Delete AllUsers Start Menu C:\ProgramData\Microsoft\Windows\Start Menu\*
- Run Delprof2 to deletes inactive user profiles (If installed)
- Run CCleaner to clean temp files (If installed) > CCleaner.exe /Auto
- Reset Performance Counters during preparation and also on personliaztaion > lodctr.exe /r
- Disable IPv6 in registry
- Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\TcpIp6\Parameters’ -Name ‘DisabledComponents’ -Value ‘0x000000FF’ -Type DWORD”
- Executing all queued .NET compilation jobs > ngen.exe ExecuteQueuedItems
- Running sdelete (If installed, version 1.6.1 supported only) on PVS WriteCacheDisk or on local Disk (if Image is in shared Mode only)
- PVS: sdelete.exe -accepteula -z <WriteCacheDrive>
- MCS/VMware/ Microsoft: sdelete.exe -accepteula -z %SystemDrive%
- Disable IPv6 on AdapterGUID > nvspbind.exe /d “<AdapterGUID>” ms_tcpip6
Executed only, if 3rd Party Optimizer (vmOSOT and/or CTXO) are not enabled in BIS-F ADMX:
- Disabling TCP/IP task offloading
- Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters’ -Name ‘DisableTaskOffload’ -Value ‘1’ -Type DWORD”
- Increases the UDP packet size to 1500 bytes for FastSend
- Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\afd\Parameters’ -Name ‘FastSendDatagramThreshold’ -Value ‘1500’ -Type DWORD”
- Set multiplication factor to the default UDP scavenge value (MaxEndpointCountMult)
- Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\BFE\Parameters’ -Name ‘MaxEndpointCountMult’ -Value ‘0x10’ -Type DWORD”
- ARP Cache Changes Adapter > netsh interface ipv4 set interface <AdapterName> basereachable=600000
- Stop DHCP Client Service > Stop-Service -Name dhcp
- Clear NameServer in Registry TCPIP Parameters
- Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters’ -Name ‘NameServer’ -value “”
- Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<AdapterGUID>’ -Name ‘NameServer’ -value “”
- Clear Domain in Registry TCPIP\Parameters
- Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<AdapterGUID>’ -Name ‘Domain’ -value “”
- Clear DhcpIPAddress in Registry TCPIP\Parameters
- Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<AdapterGUID>’ -Name ‘DhcpIPAddress’ -value “”
- Clear DhcpSubnetmask in Registry TCPIP\Parameters
- Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces<AdapterGUID>’ -Name ‘DhcpSubnetmask’ -value “”
- Clear DhcpServer in Registry TCPIP\Parameters
- Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<AdapterGUID>’ -Name ‘DhcpServer’ -value “”
- Clear DhcpNameServer in Registry TCPIPParameters
- Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<AdapterGUID>’ -Name ‘DhcpNameServer’ -value “”
- Clear DhcpDefaultGateway in Registry TCPIP\Parameters
- Set-ItemProperty -Path ‘HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<AdapterGUID>’ -Name ‘DhcpDefaultGateway’ -value “”
- Disable IPv6 on AdapterGUID > nvspbind.exe /d “<AdapterGUID>” ms_tcpip6
- Disable Scheduled Tasks
“AitAgent”,”ProgramDataUpdater”,”StartupAppTask”,”Proxy”,”UninstallDeviceTask”,”BthSQM”,
”Consolidator”,”KernelCeipTask”,”Uploader”,”UsbCeip”,”Scheduled”,”Microsoft-Windows-Disk
DiagnosticDataCollector”,”Microsoft-Windows-DiskDiagnosticResolver”,”WinSAT”,”HotStart”,”A
nalyzeSystem”,”RacTask”,”MobilityManager”,”RegIdleBackup”,”FamilySafetyMonitor”,”FamilySafetyRefresh”,”AutoWake”,”GadgetManager”,”SessionAgent”,”SystemDataProviders”,”UPnPHo
stConfig”,”ResolutionHost”,”BfeOnServiceStartTypeChange”,”UpdateLibrary”,”ServerManager”,
”Proxy”,”UninstallDeviceTask”,”Scheduled”,”Microsoft-Windows-DiskDiagnosticDataCollector”,”
Microsoft-Windows-DiskDiagnosticResolver”,”WinSAT”,”MapsToastTask”,”MapsUpdateTask”,”
ProcessMemoryDiagnosticEvents”,”RunFullMemoryDiagnostic”,”MNO Metadata Parser”,”Analyz
eSystem”,”MobilityManager”,”RegIdleBackup”,”CleanupOfflineContent”,”FamilySafetyMonitor”,”
FamilySafetyRefresh”,”SR”,”UPnPHostConfig”,”ResolutionHost”,”UpdateLibrary”,”WIM-HashManagement”,”WIM-Hash-Validation”,”ServerCeipAssistant” - Disable Cortana
- New-ItemProperty -Path ‘HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search’ -Name ‘AllowCortana’ -PropertyType DWORD -Value ‘0’