forked from DrEmpiricism/Optimize-Offline
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPrevious-Build-Info.txt
558 lines (282 loc) · 30.8 KB
/
Previous-Build-Info.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
## 3.1.1.6 (10-04-2018)
- Added support for the new Windows Enterprise LTSC.
- Updated the Win32 Calculator to the latest RS5 LTSC build.
- Corrected an unassigned variable.
- Added a -NoSetup switch that will prevent the setup and post-installation script (SetupComplete.cmd) from being applied to the image.
- Updated some SecHealthUI registry properties.
- Fixed an inproperly formatted console message.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.1.5 (10-02-2018)
- The Hardened parameter value for the Registry has been temporarily removed. As such, many Hardened values have been migrated over to the default values.
- A similar Registry parameter set will be introduced next update once it's determined all new values are fully compatible.
- The -Registry parameter is now a switch again.
- Additional registry values have been added increasing telemetry blocking and non-explicit location sensor access.
- The script now backs up the offline registry hives before applying any optimized values, compresses it into a .zip file and adds it to the final save folder.
- The OS architecture is checked before the script initializes to verify a 64-bit system.
- A new helper function has been added that will automatically detect a current mounted WIM file, dismount it and clean up its directories.
- This new helper function was added in case an issue arrises where the script is accidently canceled, wherein re-running the script will automatically call the function to clean-up the previous mounted image.
- A few context menu items have been removed in order to reduce context menu clutter.
- After DaRT has been applied, the Boot and Recovery WIM files are cleaned-up prior to dismounting.
- DaRT tools applied to Windows Setup and Windows Recovery have been updated.
- Added additional SecHealthUI (Windows Defender) Group Policy/Registry values to be auto-disabled if it's detected SecHealthUI as a System Application has been removed.
- When an ISO is supplied as the source image, its file structure now gets optimized and rebuild before the script's finalization process.
- Tweaked the OneDrive removal process.
- Optimized the C# code used to adjust process privileges for registry ownership granting.
- Added a few additional Try/Catch blocks to monitor errors that may occur during the script's initialzation process.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.1.4 (09-23-2018)
- Removed redundant values for the hardened registry optimization parameter.
- Added the disabling of Windows' Advertising ID to the hardened registry optimization parameter.
- Added some additional error-catching.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.1.3 (09-15-2018)
- Combined a few processes.
- Improved the final image clean-up.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.1.2 (09-05-2018)
- When an ISO is supplied as the source image, its entire media structure is extracted instead of just the install.wim and boot.wim (more details on this below).
- The elapsed optimization time is returned at the end of the script to detail exactly how long the full optimization processes took.
- More scheduled tasks have been included in the SetupComplete.cmd script, as well as the inclusion of new firewall rules and the automatic removal of CompatTelRunner.
- If an ISO is supplied as the source image, the -NetFx3 parameter can be used with the boolean variable "$true" instead of a full path to the NetFx3 payload files.
- An OfflineServicing answer file is applied to the image that increases the bootup and loading of the OS by removing or reducing superfluous Microsoft startup verbosity.
- A PowerShell process "Take Ownership" context menu item has been added.
- The image clean-up process has been improved.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.1.1 (08-23-2018)
- Updated the SetupComplete.cmd script that gets generated and incorporated some additional task strings.
- The script now cleans-up the WindowsApps directory as part of the Provisioned App Package removal proccess.
- Added a -OneDrive switch which will remove Microsoft OneDrive, in its entirity, from the image.
- The script backs up the WinSxS OneDrive directories before removing them, and then compresses them to a .ZIP archive and adds it to the save folder during the finalization process.
- This will allow for re-installation of Microsoft OneDrive if it is ever necessary with the original WinSxS directory structure and folders.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.1.0 (08-22-2018)
- The OOBE unattend.xml was updated to further increase speed of the Windows Setup process, as it now applies the input language of the Windows Image into the answer file.
- Increased the scope of image finalization clean-up process.
- Updated a few custom registry entries and context menu features. Restart Explorer, for example, now uses PowerShell instead of CMD and likewise requires no accompanying files.
- The ransomware expoitable SMBv1 Protocol and Client Windows Optional Features are now automatically disabled in Windows 10 editions that have them enabled by default.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.0.9 (08-19-2018)
- Reverted the way drivers and NetFx3 are integrated in that a full path to their locations are required when using their parameters. This prevents the chances of any packages accidently being applied to an image.
- An unattend.xml is now generated and applied to the image to bypass various OOBE screens and speed-up the installation process.
- Updated the auto-run batch script so all a user has to do is edit the variables within and run it as administrator and it will call Optimize-Offline.ps1 and pass all parameters to it.
- The script now also verifies the installation type of the image to prevent any Windows Server builds from being processed.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.0.8 (08-14-2018)
- Using the -Packages switch now outputs the Capability Packages that are installed in the image for selective removal.
- The removal of the Capability Package also removes the Windows Package.
- The -Features function has been removed.
- There is a new -DaRT switch that will apply Microsoft DaRT 10 to the required images.
- It applies the DaRT WIM files in the Resources directory to the appropriate images.
- These are WIM files compressed using recovery compression.
- In order for Microsoft DaRT 10 to be applied to both the Windows Setup Boot Image (boot.wim), and the default Recovery Image (winre.wim), the source image used must be a full Windows 10 ISO.
- A full Windows 10 ISO, along with the use of the -DaRT switch, will enable the script to extract the boot.wim along with the install.wim during the start of the script.
- If only a WIM file is used with the -DaRT switch, DaRT 10 will only be applied to the default Recovery Image (winre.wim).
- Many registry entries have been changed and updated. A few were also removed.
- Some code has been optimized as well as console output.
- RS5 is now supported.
- Logging has been cleaned up a bit.
- The registry values adding the "Restart Explorer" context menu item were updated. Now that feature uses PowerShell to restart explorer and not command.
- The script now exports and compresses all WIM files it opens to ensure they retain as small of size as possible.
- The Harden registry optimization level has been changed to Hardened
- The SetupComplete.cmd script that is generated based on what processes were ran has been updated.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.0.7 ## (07-10-2018)
- Changed the parameters for the removal of Provisioned Application Packages, and the applying of registry optimizations, and combined both old switch parameters into string values.
- The removal of Provisioned Application Packages is now determined on whether or not the value of "Select" or "All" is chosen. Likewise, the applying of registry optimizations is now determened on whether or not the value of "Default" or "Harden" is chosen.
- To remove Provisioned Application Packages by selection, the string parameter -MetroApps "Select" must be used. To apply hardened registry optimizations, the string parameter -Registry "Harden" must be used. If these parameter values are not entered, they use their default values, so they're not mandatory.
- A few other switches have been renamed for convenience.
- You may now apply of the .NET Framework 3 payload files which will also enable the NetFx3 Windows Optional Feature. Just like the -Drivers parameter, this new -NetFx3 parameter requires a resolvable path to a directory containing the .NET payload .CAB files, which are used as the source packages to enable the NetFx3 feature. These .CAB files are location on the installation media in the /sources/sxs folder.
- Combined multiple previously separate processes into single processes, and also optimized much of the code.
- Added some information pertaining to what certain functions and lines of code do in case there's any ambiguity.
- To run this script with a single-click, use Start.cmd (after editing any variables within). This will call the Optimize-Offline.ps1 script without having to enter any parameters or switches manually within a PowerShell console window.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.0.6 ## (06-13-2018)
- Modified some of the removal processes.
- Added an additional build check for Skip Ahead Insider Update builds.
- Removed some redundancies.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.0.5 ## (06-03-2018)
- Added additional error-handeling.
- Added addititional direct image checking for certain packages and features before processing specific automated removals.
- Removed setting the Hidden attribute on the WorkFolder.
- Optional Features now only displays features which are enabled when it outputs the list to the Gridview.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.0.4 ## (05-30-2018)
- Added additional registry optimizations.
- Updated the code and registry settings for the elevated PowerShell context menu item.
- The script now manually cleans-up the image prior to saving and dismounting it.
- And some additional changes to the code, command execution, etc.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.0.2 ## (05-27-2018)
- Updated many of the Helper Functions used and trimmed many of them down.
- Added a few more registry optimizations, including the incorporation of the Fraunhofer IIS MP3 Professional Codec and forcing Windows to only use the latest .NET Framework.
- There is no longer a -Local switch. Instead the script uses its root directory universally now.
- The script now cleans-up the image prior to saving and dismounting.
- Re-wrote a few of the additional scripts that get applied to the image.
- And some additional changes to the code, command execution, etc.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.0.1 ## (05-17-2018)
- The System Application removal now outputs the full poulated list to a Gridview.
- Some additional small changes.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.0.1 ## (05-17-2018)
- Removed the registry backup function and process temporarily, as it was causing a significant increase in script duration.
- Fixed some Setup Script context and variables.
--------------------------------------------------------------------------------------------------------------------------------
## 3.1.0.0 ## (05-17-2018)
- Optimized a substantial amount of code.
- Win32Calc has been re-created and updated.
- Added additional registry values for the -Harden switch and added its own Setup script.
- Removed -ComponentCleanup
- The script now backs up the offline registry hives and will restore said backups if certain processes have returned an error. A few of the processes will allow for continuance of the script after the backups have been restored.
- After this update, only minimal updates will be added to this script version, as the WinForm/GUI version is in its final phase of beta testing and debugging. This project will implement a substantial amount of additional features including the remastering of UEFI ISO files, unattended Answer File creation, full component removals, compression selections, the expanding of images to virtual and physical drives, capturing partition and data images. Moreover, all features will be processed natively using the WimGapi API and P/Invoke.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.9.4 ## (05-08-2018)
- Cleaned-up quite a bit of the code.
- Included a -ComponentCleanup switch that will clean-up the component store. Note: This does NOT reset the image base.
- Added additional registry optimizations.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.9.2 ## (04-29-2018)
- System Applications, Optional Features and Windows Packages are all now controlled using their respective switch which will now output all contained within the image and allow for mass removals. They are no longer controlled by editing their arrays.
- Optional Feature disabling and removal, and Windows OnDemand Package removals output the data to a Gridview as opposed to the console, as this makes it easier for people to read. Likewise, the Provisioned App Package select switch also outputs to a Gridview as opposed to the console.
- Optimized the registry and setup code.
- Win32Calc now checks if the Calculator App was removed before it applies itself. If the Calculator App is present, Win32Calc does not apply itself. Nor will it apply itself if the two required files are not located in the script's root path.
- Added additional error catching.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.9.0 ## (04-22-2018)
- The Additional-Features function script has been removed, as most of its features have been incorporated into the primary script instead.
- Adding System Images has been removed.
- Corrected a process that was still looking for a renamed variable.
- Reverted the Win32Calc back to its full package integration. The script will apply the Win32Calc add-on package if it detects the Win32Calc directory in the root path of the script, along with the two required recovery WIM files. If these are not detected, the script will silently move onto the next process.
- Updated the LayoutModification.xml file that gets applied and added a custom shortcut to it that will reboot a system directly into its UEFI BIOS firmware. This was a request by a handful of people who use fast start-up, thus rendering it very difficult to access the UEFI BIOS manually. Once selecting the new link, the PC will wait a few seconds then reboot directly into the system's UEFI BIOS firmware. To remove this link you can just right-click and delete, as it's not integrated into any .ini file or linked to any program itself.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.8.9 ## (04-19-2018)
- Changed two switch names to -WhiteList and -Harden (they were -WhiteListApps and -Hardened before).
- Removed all switches for the Additional-Features function script as well as processes that dealt with unattend.xml creation.
- This change is due to the fact the upcoming version (4.0) of the script will include a true, and full, unattend.xml builder with its GUI.
- Added support for the latest fast ring Insider's Update (17134.1) RS4
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.8.8 ## (04-12-2018)
- Changed Helper Function names to use approved PowerShell verbs.
- Fixed the logging so entries were once again appended to the .log file instead of overwriting each entry.
- Added the removal of unused Desktop.ini entries and their respective program links.
- Removed the current mount clean-up check and Helper Function.
- Further isolated the -Hardened switch processes as to not blend in with other processes.
- Added additional string appending for the SetupComplete.cmd generated with the -Hardened switch.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.8.6 ## (04-06-2018)
- The Additional-Features function script has been updated with a new Win32Calc application. The function no longer applies the WIM files to the image; rather, it simply copies over the essential files and also edits the appropriate Desktop.ini
- The default Hosts file has been significantly increased in spy and telemetry domains. All of those that are added have been verified as of 3/28/2018 (but I still recommend Steven Black's Hosts file).
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.8.5 ## (04-02-2018)
- Fixed it so 'Share' and 'Cast to Device' context menu options are also removed from build RS2.
- The Additional-Features function script has been updated.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.8.4 ## (03-27-2018)
- The main script has primarily just had a few updates with the functions it uses.
- The Additional-Features function script has been updated.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.8.3 ## (03-25-2018)
- I have updated the Hosts file the script applies with updated resolvable DNS names (as of a today, actually). That said, I still recommend to instead have the script apply the full Hosts file from Steven Black's weekly updated repository, especially if you do a lot of web browsing.
- I have updated a handful of registry entries that somehow got their formatting screwed up in yesterday's push to GitHub.
- The Additional-Features function script is going to be getting a rework, but that was also updated to change some of the unattend.xml templates' values.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.8.2 ## (03-23-2018)
- More Scheduled Tasks have been added to be automatically disabled during installation.
- Incorporated an array of spying and telemetry resolvable DNS names that get formatted and applied to the default Hosts file. Prior to applying any changes, the OEM Hosts file is backed up to the same location at "hosts.bak". These entries are only added if the script detects the full Hosts file, that gets web invoked and applied within the Additional-Features function script, has its $AddFeatures hashtable parameter NOT set to $true. Moreover, it's still recommended to use the full Hosts file, as it includes over 85k additional entries and is updated weekly.
- Added the disabling of two additional Windows Defender services and drivers.
- Incorporated multiple additional registry entries that further prevent spyware, logging and tracking.
- Increased the restrictiveness of Apps' access to the device.
- Removed a few registry properties that dealt with a few very picky device sensors. A few of the device sensors must be applied once the image is in an online state because it requires the GUID of user applying them for them to function.
- Added the disabling of Provisoned App Services if it's determined their corresponding Provisoned App Packages have been removed.
- Corrected some syntax errors that were being parsed to SetupComplete.cmd
- Incorporated value type when setting an item property in the registry.
- Combined a handful of similar registry process together.
- The Additional-Features function script has had some very minor changes, though nothing that modifies any of its processed modifications.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.7.8 ## (03-13-2018)
- Re-incorporated the AdditionalFeatures function script. Its parameters can be set by editing its hashtable within the main Optimize-Offline script.
- Re-created the Win32 Calc WIMs using Windows 10 Enterprise LTSB 2016. They are compressed using non-solid LZMS "recovery" compression.
- Be aware of image requirements before trying to apply SystemImages to the image.
- The SetupComplete.cmd is now appended using the .NET Stringbuilder. The script does not search for a Setup folder in its root directory any longer.
- The default Windows Photo Viewer now displays as it should.
- The C# Process Privilege method and the Set-RegistryOwner function have been updated.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.7.7 ## (03-09-2018)
- SetupComplete.cmd has been removed from the script. Instead, the script will check if there's a folder called "Setup" in the root directory of the script, then check that folder for any .cmd scripts. If any are found, it will recursively add them to \Windows\Setup\Scripts (where all startup scripts go). This way, if any scripts should be added to the image, one simply just needs to make a "Setup" folder in the script's root directory and place their scripts in there.
- If no Setup folder is found, the script continues to finalize and dismount.
- No output is performed, and the scripts it finds are added silently.
- Added a few checks for what Provisioned Application Packages were removed from the image to then further disable other features (like Xbox bloat). Previously, it just checked if the XboxCallableUI was among the system apps removed.
The GUI project of this script should be out of its beta stage soon.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.7.5 ## (03-07-2018)
- Firewall rules for blocking Cortana's transmission of data has been added to the registry. The search function remains 100% operational, as these entries simply prevent her "listening" UI from accessing the internet.
- Multiple syntax changes within the registry optimizations.
- Renamed the -AddDrivers parameter to just -Drivers, -UseWhiteList to -WhiteListApps and the registry optimization switch to -SetRegistry.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.7.5 ## (03-01-2018)
- The removal of System Applications, OnDemand Packages and Optional Features are determined by whether or not they are present in the editable arrays and are no longer controlled with switches.
- In order to prevent them from running completely, you can comment out the array with a # right before '$'.
- The only exception is the AppWhiteList, which is enabled by using its respective switch when calling the script.
- This was changed to reduce the amount of switch requirements, and because using a switch while also having to edit a variable are counter-productive. As such, one can comment out or uncomment out/add what they require and the script will rely on a simple check of the array contents using a .Count comparison operator.
- Changed the output when using the WhiteList, and it now displays each App it's removing as opposed to just displaying the whitelisted apps and silently removing those apps not included in the list. Furthermore, the log now reflects those apps that were removed, as opposed to those whitelisted.
- Multiple overly-sensitive registry settings have been lightened, primarily those that dealt with locking down system and store apps, which could reduce functionality on manufactured devices that rely on their personal software and apps to interact across the hardware of a device.
- Combined multiple separate processes into a parent process to prevent redundant processes taking place like registry hive loading and unloading.
- Renamed the -AddDrivers parameter to just -Drivers, -UseWhiteList to -WhiteListApps and the registry optimization switch to -SetRegistry.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.7.3 ## (02-27-18)
- Made some changes to operational variables to further filter unsupported builds.
- Severely reduced the amount of services set to be disabled during start-up in order to give more flexibility to those also running online optimization tools and scripts.
- Improved driver injection package detection.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.7.1 ## (02-11-18)
The Assorted-Features secondary function script has been removed temporarily as it's being merged into the full project (v4.0) that will be released within a few weeks.
A few registry settings' values were changed; a handful were removed and syntax on service removal was modified.
Changed some variables and function names to reflect the proper Powershell verb list.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.6 ## (02-07-18)
Assorted code changes.
Removed a registry entry that would occasionally cause a hang during the installation of the image.
Optimized the various processes.
Increased mounting speed.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.5 ## (02-05-18)
Some minor registry settings have been made
Made a few modifications to the cleaning-up of a current mount point and script termination.
This is an extremely minor update to accommodate the new -Local switch a bit better.
--------------------------------------------------------------------------------------------------------------------------------
## 3.0.4 ## (02-03-18)
The registry tweaks have been rewritten to use PowerShell's native cmdlet, as well as a small function I made to create the required keys.
A -Local switch has been added which will use the root path of the script ($PSScriptRoot) as the location it will mount and save the images to.
This switch was added for those who do not want to use a primary SSD and would rather use a secondary HDD.
Be warned that meddling in any of the temporary directories while the script is processing will likely corrupt the image, so it's best to leave them alone.
The Additional-Features function parameters were changed from a string to a hashtable for easier on/off switching.
The help information was cleaned up and more was included to detail what the functions do.
Additional registry tweaks were added for performance and speed; likewise, a few more security-related values were also added.
I am implementing a handful of advanced features for v4.0, which will be released as a full project. All the cmdlets and modules for it are complete; I'm just finishing up some C# code that will be wrapped in it, too.
--------------------------------------------------------------------------------------------------------------------------------
## Version 3.0.3 ## (02-01-2018)
Minor processing adjustments have been made to clean-up some redundant or unnecessary code.
Improved the validity script for resolvable paths to ensure they meet the criteria required for the script to successfully run.
Added more detailed notes to further detail exactly what certain advanced functions and/or processes are doing.
Improved the Additional-Features function script in how it detected path types, added a few additional context menu additions and optimized some of the code that it generates for certain switches.
Cleaned up the help files and parameter/switch notes and information.
Changed the -AddFeatures switch to -AdditionalFeatures, as some were assuming the former switch was for adding features much like the -RemoveFeatures switch removes them.
--------------------------------------------------------------------------------------------------------------------------------
## Version 3.0 ## (01-30-2018)
Version 3.0 has been released and includes some significant updates, changes and modifications.
The Helper-Script.ps1 has been removed.
There's a new function that allows for ownership of registry keys and subkeys to be granted to the BUILTIN\Administrator account, using Access Token privileges.
There are additional services and drivers disabled through the offline registry hives.
There are additional notes with some pertinent information regarding Provisioning Application Packages and System Applications.
Re-wrote the process where System Applications are "de-provisioned" and removed.
Added additional security registry settings.
The Additional-Features function script has been almost entirely re-written.
Now values are applied directly to the offline registry hives as opposed to using "REGEDIT /S" via OOBE.cmd
OOBE.cmd is now omitted, as it's no longer required with the elevated registry function.
The Windows 10 Enterprise LTSB 2016 Calculator (Win32Calc) is now able to be applied to the image. This is valuable if the regular calculator Provisioning Application Package is removed yet one still wants a built-in calculator.
A -SysPrep switch has been added that will auto-boot the image into Audit System for System Preparation.
A -GenuineTicket switch has been added that will apply a GenuineTicket.xml to the image for automatic activation upon installation.
And -Unattend switch has been added that will apply a custom unattend.xml to the image.
Generated scripts have been tweaked and modified to omit versions of Windows prior to Windows 10.
There's additional checking to ensure the build being optimized is supported (currently, there's no support for Insider Updates).