Created
November 4, 2024 15:37
-
-
Save diogow3/b609da6a846e729b723a5777f3ff68f8 to your computer and use it in GitHub Desktop.
windows 10/11 autounattend
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=Interactive&ProcessorArchitecture=amd64&BypassRequirementsCheck=true&ComputerNameMode=Random&CompactOsMode=Default&TimeZoneMode=Implicit&PartitionMode=Interactive&WindowsEditionMode=Interactive&UserAccountMode=Unattended&AccountName0=user&AccountPassword0=&AccountGroup0=Administrators&AccountName1=&AccountName2=&AccountName3=&AccountName4=&AutoLogonMode=Own&PasswordExpirationMode=Unlimited&LockoutMode=Default&HideFiles=HiddenSystem&TaskbarSearch=Hide&ShowFileExtensions=true&DisableWidgets=true&WifiMode=Interactive&ExpressSettings=DisableAll&KeysMode=Skip&ColorMode=Default&WallpaperMode=Default&RemoveOffice365=true&RemoveOneDrive=true&RemoveOneNote=true&RemoveOutlook=true&RemoveSkype=true&RemoveSolitaire=true&RemoveTeams=true&StartTilesMode=Empty&StartPinsMode=Empty&FirstLogonScript0=curl+-L+https%3A%2F%2Fninite.com%2F7zip-chrome-firefox-vlc%2Fninite.exe+-o+%25USERPROFILE%25%5Cninite.exe%0D%0A%25USERPROFILE%25%5Cninite.exe%0D%0Adel+%25USERPROFILE%25%5Cninite.exe%0D%0A&FirstLogonScriptType0=Cmd&FirstLogonScript1=Set-ExecutionPolicy+-ExecutionPolicy+RemoteSigned+-Scope+CurrentUser%0D%0Airm+https%3A%2F%2Fget.activated.win+%7C+iex%0D%0A&FirstLogonScriptType1=Ps1&WdacMode=Skip--> | |
| <settings pass="offlineServicing"></settings> | |
| <settings pass="windowsPE"> | |
| <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> | |
| <UserData> | |
| <ProductKey> | |
| <Key>00000-00000-00000-00000-00000</Key> | |
| </ProductKey> | |
| <AcceptEula>true</AcceptEula> | |
| </UserData> | |
| <RunSynchronous> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>1</Order> | |
| <Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassTPMCheck /t REG_DWORD /d 1 /f</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>2</Order> | |
| <Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassSecureBootCheck /t REG_DWORD /d 1 /f</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>3</Order> | |
| <Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassRAMCheck /t REG_DWORD /d 1 /f</Path> | |
| </RunSynchronousCommand> | |
| </RunSynchronous> | |
| </component> | |
| </settings> | |
| <settings pass="generalize"></settings> | |
| <settings pass="specialize"> | |
| <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> | |
| <RunSynchronous> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>1</Order> | |
| <Path>cmd.exe /c "del "C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\OneDrive.lnk""</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>2</Order> | |
| <Path>cmd.exe /c "del "C:\Windows\System32\OneDriveSetup.exe""</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>3</Order> | |
| <Path>cmd.exe /c "del "C:\Windows\SysWOW64\OneDriveSetup.exe""</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>4</Order> | |
| <Path>reg.exe load "HKU\DefaultUser" "C:\Users\Default\NTUSER.DAT"</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>5</Order> | |
| <Path>reg.exe delete "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\Run" /v OneDriveSetup /f</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>6</Order> | |
| <Path>reg.exe unload "HKU\DefaultUser"</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>7</Order> | |
| <Path>reg.exe delete "HKLM\SOFTWARE\Microsoft\WindowsUpdate\Orchestrator\UScheduler_Oobe\OutlookUpdate" /f</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>8</Order> | |
| <Path>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Communications" /v ConfigureChatAutoInstall /t REG_DWORD /d 0 /f</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>9</Order> | |
| <Path>powershell.exe -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>10</Order> | |
| <Path>powershell.exe -NoProfile -Command "Get-Content -LiteralPath 'C:\Windows\Temp\remove-packages.ps1' -Raw | Invoke-Expression;"</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>11</Order> | |
| <Path>net.exe accounts /maxpwage:UNLIMITED</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>12</Order> | |
| <Path>reg.exe load "HKU\DefaultUser" "C:\Users\Default\NTUSER.DAT"</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>13</Order> | |
| <Path>reg.exe add "HKU\DefaultUser\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>14</Order> | |
| <Path>reg.exe add "HKU\DefaultUser\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "Hidden" /t REG_DWORD /d 1 /f</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>15</Order> | |
| <Path>reg.exe unload "HKU\DefaultUser"</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>16</Order> | |
| <Path>reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Dsh" /v AllowNewsAndInterests /t REG_DWORD /d 0 /f</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>17</Order> | |
| <Path>powershell.exe -NoProfile -Command "Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\SetStartPins.ps1' -Raw | Invoke-Expression;"</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>18</Order> | |
| <Path>reg.exe load "HKU\DefaultUser" "C:\Users\Default\NTUSER.DAT"</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>19</Order> | |
| <Path>reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\RunOnce" /v "UnattendedSetup" /t REG_SZ /d "powershell.exe -NoProfile -Command \"Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\UserOnce.ps1' -Raw | Invoke-Expression;\"" /f</Path> | |
| </RunSynchronousCommand> | |
| <RunSynchronousCommand wcm:action="add"> | |
| <Order>20</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-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> | |
| <UserAccounts> | |
| <LocalAccounts> | |
| <LocalAccount wcm:action="add"> | |
| <Name>user</Name> | |
| <Group>Administrators</Group> | |
| <Password> | |
| <Value></Value> | |
| <PlainText>true</PlainText> | |
| </Password> | |
| </LocalAccount> | |
| </LocalAccounts> | |
| </UserAccounts> | |
| <AutoLogon> | |
| <Username>user</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>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonCount /t REG_DWORD /d 0 /f</CommandLine> | |
| </SynchronousCommand> | |
| <SynchronousCommand wcm:action="add"> | |
| <Order>2</Order> | |
| <CommandLine>cmd.exe /c "C:\Windows\Setup\Scripts\unattend-01.cmd >>"C:\Windows\Setup\Scripts\unattend-01.log" 2>&1"</CommandLine> | |
| </SynchronousCommand> | |
| <SynchronousCommand wcm:action="add"> | |
| <Order>3</Order> | |
| <CommandLine>cmd.exe /c "powershell.exe -NoProfile -Command "Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\unattend-02.ps1' -Raw | Invoke-Expression;" >>"C:\Windows\Setup\Scripts\unattend-02.log" 2>&1"</CommandLine> | |
| </SynchronousCommand> | |
| </FirstLogonCommands> | |
| </component> | |
| </settings> | |
| <Extensions xmlns="https://schneegans.de/windows/unattend-generator/"> | |
| <ExtractScript> | |
| param( | |
| [xml] $Document | |
| ); | |
| $scriptsDir = 'C:\Windows\Setup\Scripts\'; | |
| foreach( $file in $Document.unattend.Extensions.File ) { | |
| $path = [System.Environment]::ExpandEnvironmentVariables( | |
| $file.GetAttribute( 'path' ) | |
| ); | |
| if( $path.StartsWith( $scriptsDir ) ) { | |
| mkdir -Path $scriptsDir -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; } | |
| }; | |
| [System.IO.File]::WriteAllBytes( $path, ( $encoding.GetPreamble() + $encoding.GetBytes( $file.InnerText.Trim() ) ) ); | |
| } | |
| </ExtractScript> | |
| <File path="C:\Windows\Temp\remove-packages.ps1"> | |
| $selectors = @( | |
| 'Microsoft.MicrosoftOfficeHub'; | |
| 'Microsoft.Office.OneNote'; | |
| 'Microsoft.OutlookForWindows'; | |
| 'Microsoft.SkypeApp'; | |
| 'Microsoft.MicrosoftSolitaireCollection'; | |
| 'MicrosoftTeams'; | |
| 'MSTeams'; | |
| ); | |
| $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\Temp\remove-packages.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 >> $logfile; | |
| </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\unattend-01.cmd"> | |
| curl -L https://ninite.com/7zip-chrome-firefox-vlc/ninite.exe -o %USERPROFILE%\ninite.exe | |
| %USERPROFILE%\ninite.exe | |
| del %USERPROFILE%\ninite.exe | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\unattend-02.ps1"> | |
| Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser | |
| irm https://get.activated.win | iex | |
| </File> | |
| <File path="C:\Windows\Setup\Scripts\UserOnce.ps1"> | |
| & { | |
| Set-ItemProperty -LiteralPath 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Search' -Name 'SearchboxTaskbarMode' -Type 'DWord' -Value 0; | |
| } *>&1 >> "$env:TEMP\UserOnce.log"; | |
| </File> | |
| </Extensions> | |
| </unattend> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment