Last active
November 14, 2025 06:20
-
-
Save s0racat/f4a105420df5a6b790b6a0ef6e557de6 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?xml version="1.0" encoding="utf-8"?> | |
| <unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> | |
| <!--https://schneegans.de/windows/unattend-generator/?LanguageMode=Unattended&UILanguage=ja-JP&Locale=ja-JP&Keyboard=00000411&GeoLocation=122&ProcessorArchitecture=amd64&BypassNetworkCheck=true&KeepSensitiveFiles=true&ComputerNameMode=Custom&ComputerName=sub-laptop&CompactOsMode=Default&TimeZoneMode=Implicit&PartitionMode=Interactive&DiskAssertionMode=Skip&WindowsEditionMode=Firmware&InstallFromMode=Automatic&PEMode=Default&UserAccountMode=Unattended&AccountName0=takumi&AccountDisplayName0=&AccountPassword0=&AccountGroup0=Administrators&AutoLogonMode=Own&PasswordExpirationMode=Unlimited&LockoutMode=Default&HideFiles=HiddenSystem&ShowFileExtensions=true&ClassicContextMenu=true&LaunchToThisPC=true&ShowEndTask=true&TaskbarSearch=Icon&TaskbarIconsMode=Empty&DisableWidgets=true&DisableBingResults=true&StartTilesMode=Empty&StartPinsMode=Empty&DisableSac=true&DisableFastStartup=true&EnableLongPaths=true&DisableAppSuggestions=true&HideEdgeFre=true&DisableEdgeStartupBoost=true&EffectsMode=Custom&ControlAnimations=true&ListviewShadow=true&ThumbnailsOrIcon=true&DragFullWindows=true&FontSmoothing=true&DropShadow=true&DesktopIconsMode=Custom&IconRecycleBin=true&StartFoldersMode=Custom&StartFolderDocuments=true&StartFolderDownloads=true&StartFolderMusic=true&StartFolderPersonalFolder=true&StartFolderPictures=true&StartFolderSettings=true&StartFolderVideos=true&WifiMode=Interactive&ExpressSettings=DisableAll&LockKeysMode=Configure&CapsLockInitial=Off&CapsLockBehavior=Ignore&NumLockInitial=Off&NumLockBehavior=Toggle&ScrollLockInitial=Off&ScrollLockBehavior=Toggle&StickyKeysMode=Default&ColorMode=Custom&SystemColorTheme=Dark&AppsColorTheme=Dark&AccentColor=%230078d4&WallpaperMode=Default&LockScreenMode=Default&Remove3DViewer=true&RemoveBingSearch=true&RemoveClipchamp=true&RemoveCortana=true&RemoveDevHome=true&RemoveFamily=true&RemoveFeedbackHub=true&RemoveGetHelp=true&RemoveMailCalendar=true&RemoveMaps=true&RemoveMixedReality=true&RemoveZuneVideo=true&RemoveNews=true&RemoveOffice365=true&RemoveOneDrive=true&RemoveOneNote=true&RemoveOneSync=true&RemoveOutlook=true&RemovePaint3D=true&RemovePeople=true&RemoveSkype=true&RemoveSolitaire=true&RemoveStickyNotes=true&RemoveTeams=true&RemoveGetStarted=true&RemoveToDo=true&RemoveVoiceRecorder=true&RemoveWallet=true&RemoveWeather=true&RemoveXboxApps=true&RemoveYourPhone=true&SystemScript0=powercfg+%2Fsetacvalueindex+SCHEME_CURRENT+SUB_NONE+CONNECTIVITYINSTANDBY+0%0D%0Apowercfg+%2Fsetdcvalueindex+SCHEME_CURRENT+SUB_NONE+CONNECTIVITYINSTANDBY+0&SystemScriptType0=Cmd&SystemScript1=Windows+Registry+Editor+Version+5.00%0D%0A%0D%0A%5BHKEY_LOCAL_MACHINE%5CSYSTEM%5CCurrentControlSet%5CControl%5CPower%5CPowerSettings%5CF15576E8-98B7-4186-B944-EAFA664402D9%5D%0D%0A%22Attributes%22%3Ddword%3A00000002%0D%0A%0D%0A%3B+VLC%0D%0A%5BHKEY_CLASSES_ROOT%5CDirectory%5Cshell%5CPlayWithVLC%5D%0D%0A%22LegacyDisable%22%3D%22%22%0D%0A%5BHKEY_CLASSES_ROOT%5CDirectory%5Cshell%5CAddToPlaylistVLC%5D%0D%0A%22LegacyDisable%22%3D%22%22%0D%0A%0D%0A%3B+Include+in+library%0D%0A%5BHKEY_CLASSES_ROOT%5CFolder%5Cshellex%5CContextMenuHandlers%5CLibrary+Location%5D%0D%0A%40%3D%22%22%0D%0A%0D%0A%3B+Share%0D%0A%5BHKEY_CLASSES_ROOT%5CAllFileSystemObjects%5CShellEx%5CContextMenuHandlers%5CModernSharing%5D%0D%0A%40%3D%22%22%0D%0A%0D%0A%3B+Pin+to+Start+menu%0D%0A%5BHKEY_CLASSES_ROOT%5CFolder%5Cshellex%5CContextMenuHandlers%5CPintoStartScreen%5D%0D%0A%40%3D%22%22%0D%0A%0D%0A%3B+Restore+previous+versions+%0D%0A%5BHKEY_CLASSES_ROOT%5CDrive%5D%0D%0A%22NoPreviousVersions%22%3D%22%22%0D%0A%5BHKEY_CLASSES_ROOT%5CAllFileSystemObjects%5D%0D%0A%22NoPreviousVersions%22%3D%22%22%0D%0A%0D%0A%3B+add+to+favorites%0D%0A%5BHKEY_CLASSES_ROOT%5C*%5Cshell%5Cpintohomefile%5D%0D%0A%22LegacyDisable%22%3D%22%22&SystemScriptType1=Reg&UserOnceScript0=Windows+Registry+Editor+Version+5.00%0D%0A%0D%0A%5BHKEY_CURRENT_USER%5CSoftware%5CMicrosoft%5CWindows%5CCurrentVersion%5CBackgroundAccessApplications%5D%0D%0A%22GlobalUserDisabled%22%3Ddword%3A00000001%0D%0A%0D%0A%0D%0A%5BHKEY_CURRENT_USER%5CSoftware%5CMicrosoft%5CWindows%5CCurrentVersion%5CShell+Extensions%5CBlocked%5D%0D%0A%22%7BFDADFEE3-02D1-4E7C-A511-380F4C98D73B%7D%22%3D%22%22+%3B+Amd+Software%0D%0A%22%7B1FA0E654-C9F2-4A1F-9800-B9A75D744B00%7D%22%3D%22%22+%3B+Onedrive%0D%0A%22%7BCB3B0003-8088-4EDE-8769-8B354AB2FF8C%7D%22%3D%22%22+%3B+Copilot%0D%0A%22%7BBFE0E2A4-C70C-4AD7-AC3D-10D1ECEBB5B4%7D%22%3D%22%22+%3B+Photo%0D%0A%22BackgroundAppGlobalToggle%22%3Ddword%3A00000000%0D%0A%0D%0A%5BHKEY_CURRENT_USER%5CSoftware%5CMicrosoft%5CWindows%5CCurrentVersion%5CExplorer%5D%0D%0A%22ShowRecent%22%3Ddword%3A00000000%0D%0A%22ShowFrequent%22%3Ddword%3A00000001%0D%0A%22ShowCloudFilesInQuickAccess%22%3Ddword%3A00000001%0D%0A%0D%0A%5BHKEY_CURRENT_USER%5CSoftware%5CMicrosoft%5CWindows%5CCurrentVersion%5CExplorer%5CAdvanced%5D%0D%0A%22Start_TrackDocs%22%3Ddword%3A00000000%0D%0A%0D%0A%5BHKEY_CURRENT_USER%5CSoftware%5CMicrosoft%5CWindows%5CCurrentVersion%5CUserProfileEngagement%5D%0D%0A%22ScoobeSystemSettingEnabled%22%3Ddword%3A00000000&UserOnceScriptType0=Reg&UserOnceScript1=Set-ExecutionPolicy+-Scope+CurrentUser+RemoteSigned%0D%0A%24ns+%3D+New-Object+-com+shell.application%0D%0A%24ns.NameSpace%28%24env%3AUSERPROFILE%29.self.invokeverb%28%22pintohome%22%29&UserOnceScriptType1=Ps1&RestartExplorer=true&WdacMode=Skip--> | |
| <settings pass="offlineServicing"></settings> | |
| <settings pass="windowsPE"> | |
| <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> | |
| <UILanguage>ja-JP</UILanguage> | |
| </component> | |
| <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> | |
| <UserData> | |
| <ProductKey> | |
| <Key>00000-00000-00000-00000-00000</Key> | |
| <WillShowUI>OnError</WillShowUI> | |
| </ProductKey> | |
| <AcceptEula>true</AcceptEula> | |
| </UserData> | |
| <UseConfigurationSet>false</UseConfigurationSet> | |
| </component> | |
| </settings> | |
| <settings pass="generalize"></settings> | |
| <settings pass="specialize"> | |
| <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> | |
| <ComputerName>sub-laptop</ComputerName> | |
| </component> | |
| <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> | |
| <RunSynchronous> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>1</Order> | |
| <Path>powershell.exe -WindowStyle Normal -NoProfile -Command "$xml = [xml]::new(); $xml.Load('C:\Windows\Panther\unattend.xml'); $sb = [scriptblock]::Create( $xml.unattend.Extensions.ExtractScript ); Invoke-Command -ScriptBlock $sb -ArgumentList $xml;"</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>2</Order> | |
| <Path>powershell.exe -WindowStyle Normal -NoProfile -Command "Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\Specialize.ps1' -Raw | Invoke-Expression;"</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>3</Order> | |
| <Path>reg.exe load "HKU\DefaultUser" "C:\Users\Default\NTUSER.DAT"</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>4</Order> | |
| <Path>powershell.exe -WindowStyle Normal -NoProfile -Command "Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\DefaultUser.ps1' -Raw | Invoke-Expression;"</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>5</Order> | |
| <Path>reg.exe unload "HKU\DefaultUser"</Path> | |
| </RunSynchronousCommand> | |
| </RunSynchronous> | |
| </component> | |
| </settings> | |
| <settings pass="auditSystem"></settings> | |
| <settings pass="auditUser"></settings> | |
| <settings pass="oobeSystem"> | |
| <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> | |
| <InputLocale>0411:00000411</InputLocale> | |
| <SystemLocale>ja-JP</SystemLocale> | |
| <UILanguage>ja-JP</UILanguage> | |
| <UserLocale>ja-JP</UserLocale> | |
| </component> | |
| <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> | |
| <UserAccounts> | |
| <LocalAccounts> | |
| <LocalAccount wcm:action="add"> | |
| <Name>takumi</Name> | |
| <DisplayName></DisplayName> | |
| <Group>Administrators</Group> | |
| <Password> | |
| <Value></Value> | |
| <PlainText>true</PlainText> | |
| </Password> | |
| </LocalAccount> | |
| </LocalAccounts> | |
| </UserAccounts> | |
| <AutoLogon> | |
| <Username>takumi</Username> | |
| <Enabled>true</Enabled> | |
| <LogonCount>1</LogonCount> | |
| <Password> | |
| <Value></Value> | |
| <PlainText>true</PlainText> | |
| </Password> | |
| </AutoLogon> | |
| <OOBE> | |
| <ProtectYourPC>3</ProtectYourPC> | |
| <HideEULAPage>true</HideEULAPage> | |
| <HideWirelessSetupInOOBE>false</HideWirelessSetupInOOBE> | |
| <HideOnlineAccountScreens>false</HideOnlineAccountScreens> | |
| </OOBE> | |
| <FirstLogonCommands> | |
| <SynchronousCommand wcm:action="add"> | |
| <Order>1</Order> | |
| <CommandLine>powershell.exe -WindowStyle Normal -NoProfile -Command "Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\FirstLogon.ps1' -Raw | Invoke-Expression;"</CommandLine> | |
| </SynchronousCommand> | |
| </FirstLogonCommands> | |
| </component> | |
| </settings> | |
| <Extensions xmlns="https://schneegans.de/windows/unattend-generator/"> | |
| <ExtractScript> | |
| param( | |
| [xml] $Document | |
| ); | |
| foreach( $file in $Document.unattend.Extensions.File ) { | |
| $path = [System.Environment]::ExpandEnvironmentVariables( $file.GetAttribute( 'path' ) ); | |
| mkdir -Path( $path | Split-Path -Parent ) -ErrorAction 'SilentlyContinue'; | |
| $encoding = switch( [System.IO.Path]::GetExtension( $path ) ) { | |
| { $_ -in '.ps1', '.xml' } { [System.Text.Encoding]::UTF8; } | |
| { $_ -in '.reg', '.vbs', '.js' } { [System.Text.UnicodeEncoding]::new( $false, $true ); } | |
| default { [System.Text.Encoding]::Default; } | |
| }; | |
| $bytes = $encoding.GetPreamble() + $encoding.GetBytes( $file.InnerText.Trim() ); | |
| [System.IO.File]::WriteAllBytes( $path, $bytes ); | |
| } | |
| </ExtractScript> | |
| <File path="C:\Windows\Setup\Scripts\RemovePackages.ps1"> | |
| $selectors = @( | |
| 'Microsoft.Microsoft3DViewer'; | |
| 'Microsoft.BingSearch'; | |
| 'Clipchamp.Clipchamp'; | |
| 'Microsoft.549981C3F5F10'; | |
| 'Microsoft.Windows.DevHome'; | |
| 'MicrosoftCorporationII.MicrosoftFamily'; | |
| 'Microsoft.WindowsFeedbackHub'; | |
| 'Microsoft.GetHelp'; | |
| 'Microsoft.Getstarted'; | |
| 'microsoft.windowscommunicationsapps'; | |
| 'Microsoft.WindowsMaps'; | |
| 'Microsoft.MixedReality.Portal'; | |
| 'Microsoft.BingNews'; | |
| 'Microsoft.MicrosoftOfficeHub'; | |
| 'Microsoft.Office.OneNote'; | |
| 'Microsoft.OutlookForWindows'; | |
| 'Microsoft.MSPaint'; | |
| 'Microsoft.People'; | |
| 'Microsoft.SkypeApp'; | |
| 'Microsoft.MicrosoftSolitaireCollection'; | |
| 'Microsoft.MicrosoftStickyNotes'; | |
| 'MicrosoftTeams'; | |
| 'MSTeams'; | |
| 'Microsoft.Todos'; | |
| 'Microsoft.WindowsSoundRecorder'; | |
| 'Microsoft.Wallet'; | |
| 'Microsoft.BingWeather'; | |
| 'Microsoft.Xbox.TCUI'; | |
| 'Microsoft.XboxApp'; | |
| 'Microsoft.XboxGameOverlay'; | |
| 'Microsoft.XboxGamingOverlay'; | |
| 'Microsoft.XboxIdentityProvider'; | |
| 'Microsoft.XboxSpeechToTextOverlay'; | |
| 'Microsoft.GamingApp'; | |
| 'Microsoft.YourPhone'; | |
| 'Microsoft.ZuneVideo'; | |
| ); | |
| $getCommand = { | |
| Get-AppxProvisionedPackage -Online; | |
| }; | |
| $filterCommand = { | |
| $_.DisplayName -eq $selector; | |
| }; | |
| $removeCommand = { | |
| [CmdletBinding()] | |
| param( | |
| [Parameter( Mandatory, ValueFromPipeline )] | |
| $InputObject | |
| ); | |
| process { | |
| $InputObject | Remove-AppxProvisionedPackage -AllUsers -Online -ErrorAction 'Continue'; | |
| } | |
| }; | |
| $type = 'Package'; | |
| $logfile = 'C:\Windows\Setup\Scripts\RemovePackages.log'; | |
| & { | |
| $installed = & $getCommand; | |
| foreach( $selector in $selectors ) { | |
| $result = [ordered] @{ | |
| Selector = $selector; | |
| }; | |
| $found = $installed | Where-Object -FilterScript $filterCommand; | |
| if( $found ) { | |
| $result.Output = $found | & $removeCommand; | |
| if( $? ) { | |
| $result.Message = "$type removed."; | |
| } else { | |
| $result.Message = "$type not removed."; | |
| $result.Error = $Error[0]; | |
| } | |
| } else { | |
| $result.Message = "$type not installed."; | |
| } | |
| $result | ConvertTo-Json -Depth 3 -Compress; | |
| } | |
| } *>&1 | Out-String -Stream >> $logfile; | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\RemoveCapabilities.ps1"> | |
| $selectors = @( | |
| 'OneCoreUAP.OneSync'; | |
| ); | |
| $getCommand = { | |
| Get-WindowsCapability -Online | Where-Object -Property 'State' -NotIn -Value @( | |
| 'NotPresent'; | |
| 'Removed'; | |
| ); | |
| }; | |
| $filterCommand = { | |
| ($_.Name -split '~')[0] -eq $selector; | |
| }; | |
| $removeCommand = { | |
| [CmdletBinding()] | |
| param( | |
| [Parameter( Mandatory, ValueFromPipeline )] | |
| $InputObject | |
| ); | |
| process { | |
| $InputObject | Remove-WindowsCapability -Online -ErrorAction 'Continue'; | |
| } | |
| }; | |
| $type = 'Capability'; | |
| $logfile = 'C:\Windows\Setup\Scripts\RemoveCapabilities.log'; | |
| & { | |
| $installed = & $getCommand; | |
| foreach( $selector in $selectors ) { | |
| $result = [ordered] @{ | |
| Selector = $selector; | |
| }; | |
| $found = $installed | Where-Object -FilterScript $filterCommand; | |
| if( $found ) { | |
| $result.Output = $found | & $removeCommand; | |
| if( $? ) { | |
| $result.Message = "$type removed."; | |
| } else { | |
| $result.Message = "$type not removed."; | |
| $result.Error = $Error[0]; | |
| } | |
| } else { | |
| $result.Message = "$type not installed."; | |
| } | |
| $result | ConvertTo-Json -Depth 3 -Compress; | |
| } | |
| } *>&1 | Out-String -Stream >> $logfile; | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\TaskbarLayoutModification.xml"> | |
| <LayoutModificationTemplate xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification" xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout" Version="1"> | |
| <CustomTaskbarLayoutCollection PinListPlacement="Replace"> | |
| <defaultlayout:TaskbarLayout> | |
| <taskbar:TaskbarPinList> | |
| <taskbar:DesktopApp DesktopApplicationLinkPath="#leaveempty" /> | |
| </taskbar:TaskbarPinList> | |
| </defaultlayout:TaskbarLayout> | |
| </CustomTaskbarLayoutCollection> | |
| </LayoutModificationTemplate> | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\UnlockStartLayout.vbs"> | |
| HKU = &H80000003 | |
| Set reg = GetObject("winmgmts://./root/default:StdRegProv") | |
| Set fso = CreateObject("Scripting.FileSystemObject") | |
| If reg.EnumKey(HKU, "", sids) = 0 Then | |
| If Not IsNull(sids) Then | |
| For Each sid In sids | |
| key = sid + "\Software\Policies\Microsoft\Windows\Explorer" | |
| name = "LockedStartLayout" | |
| If reg.GetDWORDValue(HKU, key, name, existing) = 0 Then | |
| reg.SetDWORDValue HKU, key, name, 0 | |
| End If | |
| Next | |
| End If | |
| End If | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\UnlockStartLayout.xml"> | |
| <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> | |
| <Triggers> | |
| <EventTrigger> | |
| <Enabled>true</Enabled> | |
| <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Application"&gt;&lt;Select Path="Application"&gt;*[System[Provider[@Name='UnattendGenerator'] and EventID=1]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription> | |
| </EventTrigger> | |
| </Triggers> | |
| <Principals> | |
| <Principal id="Author"> | |
| <UserId>S-1-5-18</UserId> | |
| <RunLevel>LeastPrivilege</RunLevel> | |
| </Principal> | |
| </Principals> | |
| <Settings> | |
| <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> | |
| <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries> | |
| <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries> | |
| <AllowHardTerminate>true</AllowHardTerminate> | |
| <StartWhenAvailable>false</StartWhenAvailable> | |
| <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> | |
| <IdleSettings> | |
| <StopOnIdleEnd>true</StopOnIdleEnd> | |
| <RestartOnIdle>false</RestartOnIdle> | |
| </IdleSettings> | |
| <AllowStartOnDemand>true</AllowStartOnDemand> | |
| <Enabled>true</Enabled> | |
| <Hidden>false</Hidden> | |
| <RunOnlyIfIdle>false</RunOnlyIfIdle> | |
| <WakeToRun>false</WakeToRun> | |
| <ExecutionTimeLimit>PT72H</ExecutionTimeLimit> | |
| <Priority>7</Priority> | |
| </Settings> | |
| <Actions Context="Author"> | |
| <Exec> | |
| <Command>C:\Windows\System32\wscript.exe</Command> | |
| <Arguments>C:\Windows\Setup\Scripts\UnlockStartLayout.vbs</Arguments> | |
| </Exec> | |
| </Actions> | |
| </Task> | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\SetStartPins.ps1"> | |
| $json = '{"pinnedList":[]}'; | |
| if( [System.Environment]::OSVersion.Version.Build -lt 20000 ) { | |
| return; | |
| } | |
| $key = 'Registry::HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Start'; | |
| New-Item -Path $key -ItemType 'Directory' -ErrorAction 'SilentlyContinue'; | |
| Set-ItemProperty -LiteralPath $key -Name 'ConfigureStartPins' -Value $json -Type 'String'; | |
| </File> | |
| <File path="C:\Users\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml"> | |
| <LayoutModificationTemplate Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"> | |
| <LayoutOptions StartTileGroupCellWidth="6" /> | |
| <DefaultLayoutOverride> | |
| <StartLayoutCollection> | |
| <StartLayout GroupCellWidth="6" xmlns="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" /> | |
| </StartLayoutCollection> | |
| </DefaultLayoutOverride> | |
| </LayoutModificationTemplate> | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\SetColorTheme.ps1"> | |
| $lightThemeSystem = 0; | |
| $lightThemeApps = 0; | |
| $accentColorOnStart = 0; | |
| $enableTransparency = 0; | |
| $htmlAccentColor = '#0078D4'; | |
| & { | |
| $params = @{ | |
| LiteralPath = 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize'; | |
| Force = $true; | |
| Type = 'DWord'; | |
| }; | |
| Set-ItemProperty @params -Name 'SystemUsesLightTheme' -Value $lightThemeSystem; | |
| Set-ItemProperty @params -Name 'AppsUseLightTheme' -Value $lightThemeApps; | |
| Set-ItemProperty @params -Name 'ColorPrevalence' -Value $accentColorOnStart; | |
| Set-ItemProperty @params -Name 'EnableTransparency' -Value $enableTransparency; | |
| }; | |
| & { | |
| Add-Type -AssemblyName 'System.Drawing'; | |
| $accentColor = [System.Drawing.ColorTranslator]::FromHtml( $htmlAccentColor ); | |
| function ConvertTo-DWord { | |
| param( | |
| [System.Drawing.Color] | |
| $Color | |
| ); | |
| [byte[]] $bytes = @( | |
| $Color.R; | |
| $Color.G; | |
| $Color.B; | |
| $Color.A; | |
| ); | |
| return [System.BitConverter]::ToUInt32( $bytes, 0); | |
| } | |
| $startColor = [System.Drawing.Color]::FromArgb( 0xD2, $accentColor ); | |
| Set-ItemProperty -LiteralPath 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Accent' -Name 'StartColorMenu' -Value( ConvertTo-DWord -Color $accentColor ) -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Accent' -Name 'AccentColorMenu' -Value( ConvertTo-DWord -Color $accentColor ) -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath 'Registry::HKCU\Software\Microsoft\Windows\DWM' -Name 'AccentColor' -Value( ConvertTo-DWord -Color $accentColor ) -Type 'DWord' -Force; | |
| $params = @{ | |
| LiteralPath = 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Accent'; | |
| Name = 'AccentPalette'; | |
| }; | |
| $palette = Get-ItemPropertyValue @params; | |
| $index = 20; | |
| $palette[ $index++ ] = $accentColor.R; | |
| $palette[ $index++ ] = $accentColor.G; | |
| $palette[ $index++ ] = $accentColor.B; | |
| $palette[ $index++ ] = $accentColor.A; | |
| Set-ItemProperty @params -Value $palette -Type 'Binary' -Force; | |
| }; | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\unattend-01.cmd"> | |
| powercfg /setacvalueindex SCHEME_CURRENT SUB_NONE CONNECTIVITYINSTANDBY 0 | |
| powercfg /setdcvalueindex SCHEME_CURRENT SUB_NONE CONNECTIVITYINSTANDBY 0 | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\unattend-02.reg"> | |
| Windows Registry Editor Version 5.00 | |
| [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\F15576E8-98B7-4186-B944-EAFA664402D9] | |
| "Attributes"=dword:00000002 | |
| ; VLC | |
| [HKEY_CLASSES_ROOT\Directory\shell\PlayWithVLC] | |
| "LegacyDisable"="" | |
| [HKEY_CLASSES_ROOT\Directory\shell\AddToPlaylistVLC] | |
| "LegacyDisable"="" | |
| ; Include in library | |
| [HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers\Library Location] | |
| @="" | |
| ; Share | |
| [HKEY_CLASSES_ROOT\AllFileSystemObjects\ShellEx\ContextMenuHandlers\ModernSharing] | |
| @="" | |
| ; Pin to Start menu | |
| [HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers\PintoStartScreen] | |
| @="" | |
| ; Restore previous versions | |
| [HKEY_CLASSES_ROOT\Drive] | |
| "NoPreviousVersions"="" | |
| [HKEY_CLASSES_ROOT\AllFileSystemObjects] | |
| "NoPreviousVersions"="" | |
| ; add to favorites | |
| [HKEY_CLASSES_ROOT\*\shell\pintohomefile] | |
| "LegacyDisable"="" | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\unattend-03.reg"> | |
| Windows Registry Editor Version 5.00 | |
| [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\BackgroundAccessApplications] | |
| "GlobalUserDisabled"=dword:00000001 | |
| [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked] | |
| "{FDADFEE3-02D1-4E7C-A511-380F4C98D73B}"="" ; Amd Software | |
| "{1FA0E654-C9F2-4A1F-9800-B9A75D744B00}"="" ; Onedrive | |
| "{CB3B0003-8088-4EDE-8769-8B354AB2FF8C}"="" ; Copilot | |
| "{BFE0E2A4-C70C-4AD7-AC3D-10D1ECEBB5B4}"="" ; Photo | |
| "BackgroundAppGlobalToggle"=dword:00000000 | |
| [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer] | |
| "ShowRecent"=dword:00000000 | |
| "ShowFrequent"=dword:00000001 | |
| "ShowCloudFilesInQuickAccess"=dword:00000001 | |
| [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] | |
| "Start_TrackDocs"=dword:00000000 | |
| [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement] | |
| "ScoobeSystemSettingEnabled"=dword:00000000 | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\unattend-04.ps1"> | |
| Set-ExecutionPolicy -Scope CurrentUser RemoteSigned | |
| $ns = New-Object -com shell.application | |
| $ns.NameSpace($env:USERPROFILE).self.invokeverb("pintohome") | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\Specialize.ps1"> | |
| $scripts = @( | |
| { | |
| reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f; | |
| }; | |
| { | |
| Remove-Item -LiteralPath 'Registry::HKLM\Software\Microsoft\WindowsUpdate\Orchestrator\UScheduler_Oobe\DevHomeUpdate' -Force -ErrorAction 'SilentlyContinue'; | |
| }; | |
| { | |
| Remove-Item -LiteralPath 'C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\OneDrive.lnk', 'C:\Windows\System32\OneDriveSetup.exe', 'C:\Windows\SysWOW64\OneDriveSetup.exe' -ErrorAction 'Continue'; | |
| }; | |
| { | |
| Remove-Item -LiteralPath 'Registry::HKLM\Software\Microsoft\WindowsUpdate\Orchestrator\UScheduler_Oobe\OutlookUpdate' -Force -ErrorAction 'SilentlyContinue'; | |
| }; | |
| { | |
| reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Communications" /v ConfigureChatAutoInstall /t REG_DWORD /d 0 /f; | |
| }; | |
| { | |
| Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\RemovePackages.ps1' -Raw | Invoke-Expression; | |
| }; | |
| { | |
| Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\RemoveCapabilities.ps1' -Raw | Invoke-Expression; | |
| }; | |
| { | |
| net.exe accounts /maxpwage:UNLIMITED; | |
| }; | |
| { | |
| reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableCloudOptimizedContent" /t REG_DWORD /d 1 /f; | |
| [System.Diagnostics.EventLog]::CreateEventSource( 'UnattendGenerator', 'Application' ); | |
| }; | |
| { | |
| Register-ScheduledTask -TaskName 'UnlockStartLayout' -Xml $( Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\UnlockStartLayout.xml' -Raw ); | |
| }; | |
| { | |
| reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\CI\Policy" /v VerifiedAndReputablePolicyState /t REG_DWORD /d 0 /f; | |
| }; | |
| { | |
| reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1 /f | |
| }; | |
| { | |
| reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v HiberbootEnabled /t REG_DWORD /d 0 /f; | |
| }; | |
| { | |
| reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Dsh" /v AllowNewsAndInterests /t REG_DWORD /d 0 /f; | |
| }; | |
| { | |
| reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f; | |
| }; | |
| { | |
| reg.exe add "HKLM\Software\Policies\Microsoft\Edge" /v HideFirstRunExperience /t REG_DWORD /d 1 /f; | |
| }; | |
| { | |
| reg.exe add "HKLM\Software\Policies\Microsoft\Edge\Recommended" /v BackgroundModeEnabled /t REG_DWORD /d 0 /f; | |
| reg.exe add "HKLM\Software\Policies\Microsoft\Edge\Recommended" /v StartupBoostEnabled /t REG_DWORD /d 0 /f; | |
| }; | |
| { | |
| Set-ItemProperty -LiteralPath 'Registry::HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout' -Name 'Scancode Map' -Type 'Binary' -Value([convert]::FromBase64String('AAAAAAAAAAACAAAAAAA6AAAAAAA=')); | |
| }; | |
| { | |
| Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\SetStartPins.ps1' -Raw | Invoke-Expression; | |
| }; | |
| { | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ControlAnimations" -Name 'DefaultValue' -Value 1 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\AnimateMinMax" -Name 'DefaultValue' -Value 0 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\TaskbarAnimations" -Name 'DefaultValue' -Value 0 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\DWMAeroPeekEnabled" -Name 'DefaultValue' -Value 0 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\MenuAnimation" -Name 'DefaultValue' -Value 0 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\TooltipAnimation" -Name 'DefaultValue' -Value 0 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\SelectionFade" -Name 'DefaultValue' -Value 0 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\DWMSaveThumbnailEnabled" -Name 'DefaultValue' -Value 0 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\CursorShadow" -Name 'DefaultValue' -Value 0 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ListviewShadow" -Name 'DefaultValue' -Value 1 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ThumbnailsOrIcon" -Name 'DefaultValue' -Value 1 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ListviewAlphaSelect" -Name 'DefaultValue' -Value 0 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\DragFullWindows" -Name 'DefaultValue' -Value 1 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ComboBoxAnimation" -Name 'DefaultValue' -Value 0 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\FontSmoothing" -Name 'DefaultValue' -Value 1 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ListBoxSmoothScrolling" -Name 'DefaultValue' -Value 0 -Type 'DWord' -Force; | |
| Set-ItemProperty -LiteralPath "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\DropShadow" -Name 'DefaultValue' -Value 1 -Type 'DWord' -Force; | |
| }; | |
| { | |
| C:\Windows\Setup\Scripts\unattend-01.cmd; | |
| }; | |
| { | |
| reg.exe import "C:\Windows\Setup\Scripts\unattend-02.reg"; | |
| }; | |
| ); | |
| & { | |
| [float] $complete = 0; | |
| [float] $increment = 100 / $scripts.Count; | |
| foreach( $script in $scripts ) { | |
| Write-Progress -Activity 'Running scripts to customize your Windows installation. Do not close this window.' -PercentComplete $complete; | |
| '*** Will now execute command «{0}».' -f $( | |
| $str = $script.ToString().Trim() -replace '\s+', ' '; | |
| $max = 100; | |
| if( $str.Length -le $max ) { | |
| $str; | |
| } else { | |
| $str.Substring( 0, $max - 1 ) + '…'; | |
| } | |
| ); | |
| $start = [datetime]::Now; | |
| & $script; | |
| '*** Finished executing command after {0:0} ms.' -f [datetime]::Now.Subtract( $start ).TotalMilliseconds; | |
| "`r`n" * 3; | |
| $complete += $increment; | |
| } | |
| } *>&1 | Out-String -Stream >> "C:\Windows\Setup\Scripts\Specialize.log"; | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\UserOnce.ps1"> | |
| $scripts = @( | |
| { | |
| [System.Diagnostics.EventLog]::WriteEntry( 'UnattendGenerator', "User '$env:USERNAME' has requested to unlock the Start menu layout.", [System.Diagnostics.EventLogEntryType]::Information, 1 ); | |
| }; | |
| { | |
| reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /ve /f; | |
| }; | |
| { | |
| Set-ItemProperty -LiteralPath 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'LaunchTo' -Type 'DWord' -Value 1; | |
| }; | |
| { | |
| Set-ItemProperty -LiteralPath 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Search' -Name 'SearchboxTaskbarMode' -Type 'DWord' -Value 1; | |
| }; | |
| { | |
| Set-ItemProperty -LiteralPath 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects' -Name 'VisualFXSetting' -Type 'DWord' -Value 3 -Force; | |
| }; | |
| { | |
| New-Item -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Force; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{5399e694-6ce5-4d6c-8fce-1d8870fdcba0}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{b4bfcc3a-db2c-424c-b029-7fe99a87c641}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{a8cdff1c-4878-43be-b5fd-f8091c1c60d0}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{374de290-123f-4565-9164-39c4925e467b}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{f874310e-b6b7-47dc-bc84-b9e6b38f5903}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{1cf1260c-4dd0-4ebb-811f-33c572699fde}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{f02c1a0d-be21-4350-88b0-7367fc96ef3c}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{3add1653-eb32-4cb0-bbd7-dfa0abb5acca}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{645ff040-5081-101b-9f08-00aa002f954e}' -Value 0 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{20d04fe0-3aea-1069-a2d8-08002b30309d}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{59031a47-3f72-44a7-89c5-5595fe6b30ee}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu' -Name '{a0953c92-50dc-43bf-be83-3742fed03c9c}' -Value 1 -Type 'DWord'; | |
| New-Item -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Force; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{5399e694-6ce5-4d6c-8fce-1d8870fdcba0}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{b4bfcc3a-db2c-424c-b029-7fe99a87c641}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{a8cdff1c-4878-43be-b5fd-f8091c1c60d0}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{374de290-123f-4565-9164-39c4925e467b}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{f874310e-b6b7-47dc-bc84-b9e6b38f5903}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{1cf1260c-4dd0-4ebb-811f-33c572699fde}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{f02c1a0d-be21-4350-88b0-7367fc96ef3c}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{3add1653-eb32-4cb0-bbd7-dfa0abb5acca}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{645ff040-5081-101b-9f08-00aa002f954e}' -Value 0 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{20d04fe0-3aea-1069-a2d8-08002b30309d}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{59031a47-3f72-44a7-89c5-5595fe6b30ee}' -Value 1 -Type 'DWord'; | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel' -Name '{a0953c92-50dc-43bf-be83-3742fed03c9c}' -Value 1 -Type 'DWord'; | |
| }; | |
| { | |
| Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Start' -Name 'VisiblePlaces' -Value $( [convert]::FromBase64String('ztU0LVr6Q0WC8iLm6vd3PC+zZ+PeiVVDv85h83sYqTcgBguwUX8yTKoeNMxUf3MVSrC9dEr5aE+L1kOYBx2ovKAHPzgK6IBMsFqG24RdvE2GCHNSqlFDQp97J3ZYRlnUxaWzQoZ99EKApJP6ynqItQ==') ) -Type 'Binary'; | |
| }; | |
| { | |
| Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\SetColorTheme.ps1' -Raw | Invoke-Expression; | |
| }; | |
| { | |
| reg.exe import "C:\Windows\Setup\Scripts\unattend-03.reg"; | |
| }; | |
| { | |
| Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\unattend-04.ps1' -Raw | Invoke-Expression; | |
| }; | |
| { | |
| Get-Process -Name 'explorer' -ErrorAction 'SilentlyContinue' | Where-Object -FilterScript { | |
| $_.SessionId -eq ( Get-Process -Id $PID ).SessionId; | |
| } | Stop-Process -Force; | |
| }; | |
| ); | |
| & { | |
| [float] $complete = 0; | |
| [float] $increment = 100 / $scripts.Count; | |
| foreach( $script in $scripts ) { | |
| Write-Progress -Activity 'Running scripts to configure this user account. Do not close this window.' -PercentComplete $complete; | |
| '*** Will now execute command «{0}».' -f $( | |
| $str = $script.ToString().Trim() -replace '\s+', ' '; | |
| $max = 100; | |
| if( $str.Length -le $max ) { | |
| $str; | |
| } else { | |
| $str.Substring( 0, $max - 1 ) + '…'; | |
| } | |
| ); | |
| $start = [datetime]::Now; | |
| & $script; | |
| '*** Finished executing command after {0:0} ms.' -f [datetime]::Now.Subtract( $start ).TotalMilliseconds; | |
| "`r`n" * 3; | |
| $complete += $increment; | |
| } | |
| } *>&1 | Out-String -Stream >> "$env:TEMP\UserOnce.log"; | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\DefaultUser.ps1"> | |
| $scripts = @( | |
| { | |
| Remove-ItemProperty -LiteralPath 'Registry::HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\Run' -Name 'OneDriveSetup' -Force -ErrorAction 'Continue'; | |
| }; | |
| { | |
| reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\GameDVR" /v AppCaptureEnabled /t REG_DWORD /d 0 /f; | |
| }; | |
| { | |
| reg.exe add "HKU\DefaultUser\Software\Policies\Microsoft\Windows\Explorer" /v "StartLayoutFile" /t REG_SZ /d "C:\Windows\Setup\Scripts\TaskbarLayoutModification.xml" /f; | |
| reg.exe add "HKU\DefaultUser\Software\Policies\Microsoft\Windows\Explorer" /v "LockedStartLayout" /t REG_DWORD /d 1 /f; | |
| }; | |
| { | |
| reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f; | |
| }; | |
| { | |
| reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "Hidden" /t REG_DWORD /d 1 /f; | |
| }; | |
| { | |
| $names = @( | |
| 'ContentDeliveryAllowed'; | |
| 'FeatureManagementEnabled'; | |
| 'OEMPreInstalledAppsEnabled'; | |
| 'PreInstalledAppsEnabled'; | |
| 'PreInstalledAppsEverEnabled'; | |
| 'SilentInstalledAppsEnabled'; | |
| 'SoftLandingEnabled'; | |
| 'SubscribedContentEnabled'; | |
| 'SubscribedContent-310093Enabled'; | |
| 'SubscribedContent-338387Enabled'; | |
| 'SubscribedContent-338388Enabled'; | |
| 'SubscribedContent-338389Enabled'; | |
| 'SubscribedContent-338393Enabled'; | |
| 'SubscribedContent-353694Enabled'; | |
| 'SubscribedContent-353696Enabled'; | |
| 'SubscribedContent-353698Enabled'; | |
| 'SystemPaneSuggestionsEnabled'; | |
| ); | |
| foreach( $name in $names ) { | |
| reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v $name /t REG_DWORD /d 0 /f; | |
| } | |
| }; | |
| { | |
| foreach( $root in 'Registry::HKU\.DEFAULT', 'Registry::HKU\DefaultUser' ) { | |
| Set-ItemProperty -LiteralPath "$root\Control Panel\Keyboard" -Name 'InitialKeyboardIndicators' -Type 'String' -Value 0 -Force; | |
| } | |
| }; | |
| { | |
| reg.exe add "HKU\DefaultUser\Software\Policies\Microsoft\Windows\Explorer" /v DisableSearchBoxSuggestions /t REG_DWORD /d 1 /f; | |
| }; | |
| { | |
| reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\TaskbarDeveloperSettings" /v TaskbarEndTask /t REG_DWORD /d 1 /f; | |
| }; | |
| { | |
| reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\DWM" /v ColorPrevalence /t REG_DWORD /d 0 /f; | |
| }; | |
| { | |
| reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\RunOnce" /v "UnattendedSetup" /t REG_SZ /d "powershell.exe -WindowStyle Normal -NoProfile -Command \""Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\UserOnce.ps1' -Raw | Invoke-Expression;\""" /f; | |
| }; | |
| ); | |
| & { | |
| [float] $complete = 0; | |
| [float] $increment = 100 / $scripts.Count; | |
| foreach( $script in $scripts ) { | |
| Write-Progress -Activity 'Running scripts to modify the default user’’s registry hive. Do not close this window.' -PercentComplete $complete; | |
| '*** Will now execute command «{0}».' -f $( | |
| $str = $script.ToString().Trim() -replace '\s+', ' '; | |
| $max = 100; | |
| if( $str.Length -le $max ) { | |
| $str; | |
| } else { | |
| $str.Substring( 0, $max - 1 ) + '…'; | |
| } | |
| ); | |
| $start = [datetime]::Now; | |
| & $script; | |
| '*** Finished executing command after {0:0} ms.' -f [datetime]::Now.Subtract( $start ).TotalMilliseconds; | |
| "`r`n" * 3; | |
| $complete += $increment; | |
| } | |
| } *>&1 | Out-String -Stream >> "C:\Windows\Setup\Scripts\DefaultUser.log"; | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\FirstLogon.ps1"> | |
| $scripts = @( | |
| { | |
| Set-ItemProperty -LiteralPath 'Registry::HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name 'AutoLogonCount' -Type 'DWord' -Force -Value 0; | |
| }; | |
| ); | |
| & { | |
| [float] $complete = 0; | |
| [float] $increment = 100 / $scripts.Count; | |
| foreach( $script in $scripts ) { | |
| Write-Progress -Activity 'Running scripts to finalize your Windows installation. Do not close this window.' -PercentComplete $complete; | |
| '*** Will now execute command «{0}».' -f $( | |
| $str = $script.ToString().Trim() -replace '\s+', ' '; | |
| $max = 100; | |
| if( $str.Length -le $max ) { | |
| $str; | |
| } else { | |
| $str.Substring( 0, $max - 1 ) + '…'; | |
| } | |
| ); | |
| $start = [datetime]::Now; | |
| & $script; | |
| '*** Finished executing command after {0:0} ms.' -f [datetime]::Now.Subtract( $start ).TotalMilliseconds; | |
| "`r`n" * 3; | |
| $complete += $increment; | |
| } | |
| } *>&1 | Out-String -Stream >> "C:\Windows\Setup\Scripts\FirstLogon.log"; | |
| </File> | |
| </Extensions> | |
| </unattend> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment