Test 2024 01 03 (#1384)
* Increase performance during loading. (#1348)
* Increase performance during loading.
Add a clear button to the search box.
Add link and description attributes to the applications JSON.
Use the link for linking to the app website.
Use the description as a tooltip for each app.
Add a clickable link to the website for each application (this took a long time; don't kick me if I got some wrong).
Pressing Escape now clears the filter box.
Pressing Alt-P prints your PID.
* Fix for services that are being stopped
* Compile winutil
* Adding new Get-LocalizedYesNo based on choice.exe which is faster and more reliable, thank you @dtm-r for implementing it and testing it on English, German, Dutch, French, Italian, Spansich and Russian. Incredible work by @dtm-r, all cridit and props go to him.
See this thread for details https://github.com/ChrisTitusTech/winutil/issues/1324
* Added error-checking logic for mounting ISOs and also created a wiki page that explains some of the errors.
---------
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Custom save targets for MicroWin ISOs (#1346)
* Workaround for Explorer freezes
Some people have reported that setting the Event Log service to Automatic and starting it can (temporarily) fix Explorer freezes.
This change detects whether the next service in the list is "EventLog" and skips it
* Allow user to save MicroWin ISOs anywhere
Adds a SaveFileDialog component to let the user specify the location of the MicroWin ISO and uses it during creation with oscdimg.
(It uses a Process object from System.Diagnostics because I couldn't get it to work with Start-Process)
* Removed temporary workaround
Removed my version of the workaround in favor of the version from @KonTy (merge PR #1348 first)
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Highly anticipated fix for small screens (#1358)
* Increase performance during loading.
Add a clear button to the search box.
Add link and description attributes to the applications JSON.
Use the link for linking to the app website.
Use the description as a tooltip for each app.
Add a clickable link to the website for each application (this took a long time; don't kick me if I got some wrong).
Pressing Escape now clears the filter box.
Pressing Alt-P prints your PID.
* Fix for services that are being stopped
* Compile winutil
* Adding new Get-LocalizedYesNo based on choice.exe which is faster and more reliable, thank you @dtm-r for implementing it and testing it on English, German, Dutch, French, Italian, Spansich and Russian. Incredible work by @dtm-r, all cridit and props go to him.
See this thread for details https://github.com/ChrisTitusTech/winutil/issues/1324
* Added error-checking logic for mounting ISOs and also created a wiki page that explains some of the errors.
* Highly anticipated fix for small screen computers
---------
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Winutil take a long time to create iso file and goes to sleep, this fixes that issue #1343 (#1371)
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Create .gitattributes
* Update .gitattributes
* add winget ventoy package (#1374)
* add winget ventoy package
* convert applications.json to utf-8
* update applications.json again
* Compile Winutil
* Update applications.json
fix encoding
* Compile Winutil
* Fix Encoding and Bad Symbols
* Compile Winutil
* feat: Add more software choices (#1379)
* Compile Winutil
* Update configs.Tests.ps1
* Update winutil.Tests.ps1
* Update applications.json
* Compile Winutil
* Update applications.json
* Compile Winutil
* Update applications.json
* Compile Winutil
* fix functions for unit tests
* Compile Winutil
* Update Invoke-MicroWin-Helper.ps1
* Compile Winutil
* fix name WPF Close Button
* Update inputXML.xaml
* Compile Winutil
* my bad that wasnt it
* modify unit test for stop on error
* Compile Winutil
* Update unittests.yaml
* Create test
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Compile Winutil
* Make restore points optional, enabled by default (#1380)
* Make restore points optional, enabled by default
* Tweaks order fix if restorepoint is checked
* Compile Winutil
* update unit tests
* Compile Winutil
* Update unittests.yaml
* Update unittests.yaml
* Update winutil.Tests.ps1
* tests
* Compile Winutil
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* fix unit test
* Update winutil.Tests.ps1
* rewrite all pester test for winutil
* Compile Winutil
* fix handle is invalid error
* final unit test
---------
Co-authored-by: KonTy <9524513+KonTy@users.noreply.github.com>
Co-authored-by: KonTy <KonTy@github.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
Co-authored-by: Munkk <152475628+munkk01@users.noreply.github.com>
Co-authored-by: Kiril Vasilev <Kiril.v92@gmail.com>
2024-01-12 00:34:41 -06:00
|
|
|
function Invoke-MicroWin-Helper {
|
|
|
|
<#
|
|
|
|
|
|
|
|
.SYNOPSIS
|
|
|
|
checking unit tests
|
|
|
|
|
|
|
|
.PARAMETER Name
|
|
|
|
no parameters
|
|
|
|
|
|
|
|
.EXAMPLE
|
|
|
|
placeholder
|
|
|
|
|
|
|
|
#>
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2024-02-07 11:18:04 -06:00
|
|
|
function Test-CompatibleImage() {
|
Test 2024 01 25 (#1505)
* Update applications.json
Fake app add made by linux fanboy
* Compile Winutil
* Update screen-install.png (#1464)
* Compile Winutil
* Update files (#1487)
- Add detections for whether the image to be processed by MicroWin is Windows 10 or later
- Add procedure to clear the indexes ComboBox (WinForms term) every time an ISO is specified
Co-authored-by: Chris Titus <contact@christitus.com>
* Lots of changes to Invoke-WPFFixesUpdate (#1467)
* Add Guilded into Communication Tab (#1059)
* Add Guilded into Communication Tab
* Remove Choco Package due to there is no Chocolatey packages
* : Add ZeroTier One to utilities menu (#1061)
* Update applications.json (#1063)
Update to add [SuperF4 - Stefan Sundin](https://stefansundin.github.io/superf4/), as mentioned in #374 [Choco - SuperF4](https://community.chocolatey.org/packages/superf4) maintained by Xav83. [WinGet - SuperF4](https://winstall.app/apps/StefanSundin.Superf4) SuperF4 and Winget package published by Stefan Sundin.
* Update inputXML.xaml (#1062)
Updated inputXML.xaml to account for addition of the SuperF4 software.
* Added AIMP music player (#1064)
* Add Ventoy (Chocolatey Only Package) & .NET Core Runtime (Winget & Chocolatey) (#1066)
* Tidy up SuperF4 line.
* Tidy up SuperF4 line.
Used spaces instead of tabs.
* Add dotnet 7.0.11 Desktop Runtime
* Undone changes to SuperF4 line
* Addition of Ventoy (chocolatey only) package
* Comment Spacing, Indentation, and Capitalization (#1084)
* Comment Spacing, Indentation, and Capitalization
* Comment Grammar and Spacing
Makes grammar in comments better and more consistent
Adds space before comment and centers word in `Write-Host` commands
* More Grammar and Formatting
* Add some comments
* Populate PlaceHolder comments in functions
Files I found that has issues:
Get-WinUtilRegistry.ps1
Install-WinUtilWinget.ps1
Invoke-WinUtilDarkMode.ps1
Remove-WinUtilAPPX.ps1
Test-WinUtilPackageManager.ps1
Update-WinUtilProgramWinget.ps1
Invoke-WPFUpdatessecurity.ps1
* Tweak a few more comments
* Tweak another write-host statement
* Undo Catch statement adjustment
It's outside of the scope of this pull request
* Fix indentation
* Description, Progress Bar, and nuke step 10
- Added a full description of exactly what the function does
- Replaced `Write-Host`s with multiple progress bars
- Might've added too many, but I didn't want to add one for just a few of them as I want the user to be able to see all tasks that have been performed, just like with `Write-Host`
- Removed Step 10
- Only applies to Windows 8
* Add Aggressive Parameter, Actually Force Check for Updates
* Add aggressive parameter and add system repair step
* Lots of changes
* Revert Stuff
This reverts commit 199a92e26e418c544691a0b6eda5d6e7f3e56b8d.
Revert "Comment Spacing, Indentation, and Capitalization (#1084)"
This reverts commit acc2b5b243654156de4c6bdbcc5f7b72e4cdf578.
Revert "Add Ventoy (Chocolatey Only Package) & .NET Core Runtime (Winget & Chocolatey) (#1066)"
This reverts commit 932ec6a0a00f7d2fb9cb3fca2fd4bf7ee74d9ce7.
Revert "Added AIMP music player (#1064)"
This reverts commit d1a4a67a45335450cd82d4960ddf4b8a0e565eef.
Revert "Update inputXML.xaml (#1062)"
This reverts commit 2db4cb556edfce9602f931e37b3ee4f59d9ecf7f.
Revert "Update applications.json (#1063)"
This reverts commit ce7edbd60dda92a00293bf2f727b44af63165838.
Revert ": Add ZeroTier One to utilities menu (#1061)"
This reverts commit 783a9657d0c6a08a9e9ef6e19bd461c8af7c1420.
---------
Co-authored-by: Justawildwolf <62820836+blusewill@users.noreply.github.com>
Co-authored-by: Tim Stone <github@tsdev.au>
Co-authored-by: Will Barnard <5012445+mrwillbarnz@users.noreply.github.com>
Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
* Compile Winutil
* Invoke-WPFRunspace argument fix (#1497)
* Compile Winutil
* Fixes, Changes & Features Added (Broken links & Comments) (#1476)
* Fixes & Changes (Broken links & Comments)
- Snappy Driver Installer Origin
Github source code deprecated. Replaced with SourceForge official source code site.
- Spacedrive File Manager
"spacedrive.org" not working. Changed to official site.
**Recent Alpha ver 0.2.0 - crashing on install for Win10+ (not tested in "lower" win versions), may be better to remove overall or place on standby.**
- Xtreme Download Manager
Web Integration not working for chromium based browser.
**Deprecated by Manifest V3, no official update release.**
* Update applications.json
Reverted winget for Spacedrive to original.
Spacedrive.FileSystem -> spacedrive.Spacedrive
* Fix for Portmaster [Wrong repo/winget]
* Choco Safing Portmaster
* Added Apps Request
- Added TeCno Account Switcher
Resolves Feature Request n.6° #1451
- Added ATLauncher
- Added OP Auto Clicker
- Added Motrix Download Manager
Resolves Feature Request #1443
* Fixed Panel Numbers
* Added Thonny Python IDE
- Feature Request
#1451
* Update applications.json
fix few missing values
* Update applications.json
add winget thonny
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Compile Winutil
* Fixed typo: latancy to latency (#1492)
* Compile Winutil
* Update inputXML.xaml (#1462)
* Compile Winutil
* Update .gitignore
* add Dax Studio program to the Development category (#1500)
* Compile Winutil
* Add GitHub CLI to applications (#1460)
* Added GitHub CLI to applications
GitHub cli is the command line interface offered by github alongside
github desktop.
For more information see: https://github.com/cli/cli.
Installation instructions taken from: https://github.com/cli/cli#windows
* spelling: removed accidental dot
* Compile Winutil
* Add Vesktop to applications.json (#1461)
* Add Vesktop to applications.json
* fix syntax error
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Compile Winutil
* Add some apps (#1466)
* Add some apps
* Fix WPFInstallopenhashtab
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Compile Winutil
* adds helix to development tools (#1469)
* Compile Winutil
* Add tooltips to config checkboxes (#1470)
* Fix typo
* Update winutil.ps1
* Update winutil.ps1
Add tooltips to checkboxes in config session and rewrite so to make things more clear as to what each tweak does
* Revert "Update winutil.ps1"
This reverts commit aaa69c473ff814a7de9e4f7e4591fa5c0f786ffc.
* Add applications
Added Sonarr, Radarr, Prowlarr and Bazarr in response to an github issue
* Add applications
Added applications to the GUI
* Revert "Add applications"
This reverts commit e5fba2b4ebe8df138aed396e55f3fcee62224cbc.
* Revert "Add applications"
This reverts commit 55ff75a65c563dd649e6cac4868a8484a71656d5.
* Edit xaml files
Editing the xaml files so the changes persist upon compilation
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Compile Winutil
* Add Mumble (#1481)
Add Mumble to Communications category.
* Compile Winutil
* Added 'Stremio' (#1473)
* Compile Winutil
* Update applications.json
Added 'Stremio'
* Compile Winutil
---------
Co-authored-by: REVENGE977 <REVENGE977@users.noreply.github.com>
Co-authored-by: Chris Titus <contact@christitus.com>
* Add the Mullvad Browser (#1475)
* add mullvad browser
* Missing tab
* fix format
---------
Co-authored-by: Kristjan <krissiomar@gmail.com>
Co-authored-by: Chris Titus <contact@christitus.com>
* Compile Winutil
* Added some Applications (#1484)
* Update applications.json
Add:
- Rancher Desktop
- ManicTime
- qFlipper
- ModernFlyouts
- ZoomIt
- StartAllBack
- Wintoys
- Minecraft Launcher
* Update applications.json
added:
- Arduino IDE
- Whatsapp
* Update applications.json
corrected spacing
* Update applications.json
fixed winget commands
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Added WinMerge Application in Development category. (#1485)
WinMerge is an Open Source differencing and merging tool for Windows.
* Compile Winutil
* Fix few app links and add app (issues/1478) (#1495)
* Update some app links
* Update winutil.ps1
Date update
* Add Syncthingtray
Related to the issue: https://github.com/ChrisTitusTech/winutil/issues/1478
* Update applications.json
update putty link
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Compile Winutil
* Update applications.json
* Compile Winutil
* App fix and sort
* Add Dual Monitor tools to applications.json (#1504)
* Add Dual Monitor tools to applications.json
* Update applications.json
* Update applications.json
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Compile Winutil
---------
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: Samq64 <81489795+Samq64@users.noreply.github.com>
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
Co-authored-by: Carter <60557606+Carterpersall@users.noreply.github.com>
Co-authored-by: Justawildwolf <62820836+blusewill@users.noreply.github.com>
Co-authored-by: Tim Stone <github@tsdev.au>
Co-authored-by: Will Barnard <5012445+mrwillbarnz@users.noreply.github.com>
Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
Co-authored-by: ogfrm <96927197+ogfrm@users.noreply.github.com>
Co-authored-by: v-Kaefer <128633407+v-Kaefer@users.noreply.github.com>
Co-authored-by: Shashank B N <117376750+Athena-2003@users.noreply.github.com>
Co-authored-by: Alex Schwartz <alexschwartz01@gmail.com>
Co-authored-by: André Gonzalez <lopescg@gmail.com>
Co-authored-by: David Hardt <contact@hardt.ai>
Co-authored-by: Choccy Milk <152878702+choccyy-milk@users.noreply.github.com>
Co-authored-by: OmriOn <omri.hermon@gmail.com>
Co-authored-by: Breno Fernandes <fernandesopa@gmail.com>
Co-authored-by: Yuri Gabriel <97139700+Yuuh15@users.noreply.github.com>
Co-authored-by: Filip Zurek <zurfil@tuta.com>
Co-authored-by: H4D3S <32039975+REVENGE977@users.noreply.github.com>
Co-authored-by: REVENGE977 <REVENGE977@users.noreply.github.com>
Co-authored-by: KristjanOmar <117899282+KristjanOmar@users.noreply.github.com>
Co-authored-by: Kristjan <krissiomar@gmail.com>
Co-authored-by: MyDrift <personal@mdiana.ch>
Co-authored-by: Akash Singh <52990376+Akash-S1999@users.noreply.github.com>
Co-authored-by: Roc Wang <rocwang911@gmail.com>
Co-authored-by: José Roberto Sánchez <jose_roberto_ss@hotmail.com>
2024-01-30 12:36:38 -06:00
|
|
|
<#
|
|
|
|
|
|
|
|
.SYNOPSIS
|
|
|
|
Checks the version of a Windows image and determines whether or not it is compatible depending on the Major property
|
|
|
|
|
|
|
|
.PARAMETER imgVersion
|
|
|
|
The version of the Windows image
|
|
|
|
|
|
|
|
#>
|
|
|
|
|
|
|
|
param
|
|
|
|
(
|
|
|
|
[Parameter(Mandatory = $true)] [string] $imgVersion
|
|
|
|
)
|
|
|
|
|
|
|
|
try {
|
|
|
|
$version = [Version]$imgVersion
|
|
|
|
if ($version.Major -ge 10)
|
|
|
|
{
|
|
|
|
return $True
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
return $False
|
|
|
|
}
|
|
|
|
} catch {
|
|
|
|
return $False
|
|
|
|
}
|
|
|
|
}
|
Test 2024 01 03 (#1384)
* Increase performance during loading. (#1348)
* Increase performance during loading.
Add a clear button to the search box.
Add link and description attributes to the applications JSON.
Use the link for linking to the app website.
Use the description as a tooltip for each app.
Add a clickable link to the website for each application (this took a long time; don't kick me if I got some wrong).
Pressing Escape now clears the filter box.
Pressing Alt-P prints your PID.
* Fix for services that are being stopped
* Compile winutil
* Adding new Get-LocalizedYesNo based on choice.exe which is faster and more reliable, thank you @dtm-r for implementing it and testing it on English, German, Dutch, French, Italian, Spansich and Russian. Incredible work by @dtm-r, all cridit and props go to him.
See this thread for details https://github.com/ChrisTitusTech/winutil/issues/1324
* Added error-checking logic for mounting ISOs and also created a wiki page that explains some of the errors.
---------
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Custom save targets for MicroWin ISOs (#1346)
* Workaround for Explorer freezes
Some people have reported that setting the Event Log service to Automatic and starting it can (temporarily) fix Explorer freezes.
This change detects whether the next service in the list is "EventLog" and skips it
* Allow user to save MicroWin ISOs anywhere
Adds a SaveFileDialog component to let the user specify the location of the MicroWin ISO and uses it during creation with oscdimg.
(It uses a Process object from System.Diagnostics because I couldn't get it to work with Start-Process)
* Removed temporary workaround
Removed my version of the workaround in favor of the version from @KonTy (merge PR #1348 first)
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Highly anticipated fix for small screens (#1358)
* Increase performance during loading.
Add a clear button to the search box.
Add link and description attributes to the applications JSON.
Use the link for linking to the app website.
Use the description as a tooltip for each app.
Add a clickable link to the website for each application (this took a long time; don't kick me if I got some wrong).
Pressing Escape now clears the filter box.
Pressing Alt-P prints your PID.
* Fix for services that are being stopped
* Compile winutil
* Adding new Get-LocalizedYesNo based on choice.exe which is faster and more reliable, thank you @dtm-r for implementing it and testing it on English, German, Dutch, French, Italian, Spansich and Russian. Incredible work by @dtm-r, all cridit and props go to him.
See this thread for details https://github.com/ChrisTitusTech/winutil/issues/1324
* Added error-checking logic for mounting ISOs and also created a wiki page that explains some of the errors.
* Highly anticipated fix for small screen computers
---------
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Winutil take a long time to create iso file and goes to sleep, this fixes that issue #1343 (#1371)
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Create .gitattributes
* Update .gitattributes
* add winget ventoy package (#1374)
* add winget ventoy package
* convert applications.json to utf-8
* update applications.json again
* Compile Winutil
* Update applications.json
fix encoding
* Compile Winutil
* Fix Encoding and Bad Symbols
* Compile Winutil
* feat: Add more software choices (#1379)
* Compile Winutil
* Update configs.Tests.ps1
* Update winutil.Tests.ps1
* Update applications.json
* Compile Winutil
* Update applications.json
* Compile Winutil
* Update applications.json
* Compile Winutil
* fix functions for unit tests
* Compile Winutil
* Update Invoke-MicroWin-Helper.ps1
* Compile Winutil
* fix name WPF Close Button
* Update inputXML.xaml
* Compile Winutil
* my bad that wasnt it
* modify unit test for stop on error
* Compile Winutil
* Update unittests.yaml
* Create test
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Compile Winutil
* Make restore points optional, enabled by default (#1380)
* Make restore points optional, enabled by default
* Tweaks order fix if restorepoint is checked
* Compile Winutil
* update unit tests
* Compile Winutil
* Update unittests.yaml
* Update unittests.yaml
* Update winutil.Tests.ps1
* tests
* Compile Winutil
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* fix unit test
* Update winutil.Tests.ps1
* rewrite all pester test for winutil
* Compile Winutil
* fix handle is invalid error
* final unit test
---------
Co-authored-by: KonTy <9524513+KonTy@users.noreply.github.com>
Co-authored-by: KonTy <KonTy@github.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
Co-authored-by: Munkk <152475628+munkk01@users.noreply.github.com>
Co-authored-by: Kiril Vasilev <Kiril.v92@gmail.com>
2024-01-12 00:34:41 -06:00
|
|
|
|
2023-11-28 16:11:11 -06:00
|
|
|
function Remove-Features([switch] $dumpFeatures = $false, [switch] $keepDefender = $false) {
|
|
|
|
<#
|
|
|
|
|
|
|
|
.SYNOPSIS
|
|
|
|
Removes certain features from ISO image
|
|
|
|
|
|
|
|
.PARAMETER Name
|
|
|
|
dumpFeatures - Dumps all features found in the ISO into a file called allfeaturesdump.txt. This file can be examined and used to decide what to remove.
|
|
|
|
keepDefender - Should Defender be removed from the ISO?
|
|
|
|
|
|
|
|
.EXAMPLE
|
|
|
|
Remove-Features -keepDefender:$false
|
|
|
|
|
|
|
|
#>
|
2024-01-02 15:45:06 -06:00
|
|
|
$appxlist = dism /English /image:$scratchDir /Get-Features | Select-String -Pattern "Feature Name : " -CaseSensitive -SimpleMatch
|
2023-11-28 16:11:11 -06:00
|
|
|
$appxlist = $appxlist -split "Feature Name : " | Where-Object {$_}
|
|
|
|
if ($dumpFeatures)
|
|
|
|
{
|
|
|
|
$appxlist > allfeaturesdump.txt
|
|
|
|
}
|
|
|
|
|
|
|
|
$appxlist = $appxlist | Where-Object {
|
|
|
|
$_ -NotLike "*Printing*" -AND
|
|
|
|
$_ -NotLike "*TelnetClient*" -AND
|
|
|
|
$_ -NotLike "*PowerShell*" -AND
|
|
|
|
$_ -NotLike "*NetFx*"
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($keepDefender) { $appxlist = $appxlist | Where-Object { $_ -NotLike "*Defender*" }}
|
|
|
|
|
|
|
|
foreach($feature in $appxlist)
|
|
|
|
{
|
|
|
|
$status = "Removing feature $feature"
|
|
|
|
Write-Progress -Activity "Removing features" -Status $status -PercentComplete ($counter++/$appxlist.Count*100)
|
|
|
|
Write-Debug "Removing feature $feature"
|
|
|
|
# dism /image:$scratchDir /Disable-Feature /FeatureName:$feature /Remove /NoRestart > $null
|
|
|
|
}
|
|
|
|
Write-Progress -Activity "Removing features" -Status "Ready" -Completed
|
|
|
|
}
|
|
|
|
|
|
|
|
function Remove-Packages
|
|
|
|
{
|
2024-01-02 15:45:06 -06:00
|
|
|
$appxlist = dism /English /Image:$scratchDir /Get-Packages | Select-String -Pattern "Package Identity : " -CaseSensitive -SimpleMatch
|
2023-11-28 16:11:11 -06:00
|
|
|
$appxlist = $appxlist -split "Package Identity : " | Where-Object {$_}
|
|
|
|
|
|
|
|
$appxlist = $appxlist | Where-Object {
|
|
|
|
$_ -NotLike "*ApplicationModel*" -AND
|
|
|
|
$_ -NotLike "*indows-Client-LanguagePack*" -AND
|
|
|
|
$_ -NotLike "*LanguageFeatures-Basic*" -AND
|
|
|
|
$_ -NotLike "*Package_for_ServicingStack*" -AND
|
|
|
|
$_ -NotLike "*.NET*" -AND
|
|
|
|
$_ -NotLike "*Store*" -AND
|
|
|
|
$_ -NotLike "*VCLibs*" -AND
|
|
|
|
$_ -NotLike "*AAD.BrokerPlugin",
|
|
|
|
$_ -NotLike "*LockApp*" -AND
|
|
|
|
$_ -NotLike "*Notepad*" -AND
|
|
|
|
$_ -NotLike "*immersivecontrolpanel*" -AND
|
|
|
|
$_ -NotLike "*ContentDeliveryManager*" -AND
|
|
|
|
$_ -NotLike "*PinningConfirMationDialog*" -AND
|
|
|
|
$_ -NotLike "*SecHealthUI*" -AND
|
|
|
|
$_ -NotLike "*SecureAssessmentBrowser*" -AND
|
|
|
|
$_ -NotLike "*PrintDialog*" -AND
|
|
|
|
$_ -NotLike "*AssignedAccessLockApp*" -AND
|
|
|
|
$_ -NotLike "*OOBENetworkConnectionFlow*" -AND
|
|
|
|
$_ -NotLike "*Apprep.ChxApp*" -AND
|
|
|
|
$_ -NotLike "*CBS*" -AND
|
|
|
|
$_ -NotLike "*OOBENetworkCaptivePortal*" -AND
|
|
|
|
$_ -NotLike "*PeopleExperienceHost*" -AND
|
|
|
|
$_ -NotLike "*ParentalControls*" -AND
|
|
|
|
$_ -NotLike "*Win32WebViewHost*" -AND
|
|
|
|
$_ -NotLike "*InputApp*" -AND
|
|
|
|
$_ -NotLike "*AccountsControl*" -AND
|
|
|
|
$_ -NotLike "*AsyncTextService*" -AND
|
|
|
|
$_ -NotLike "*CapturePicker*" -AND
|
|
|
|
$_ -NotLike "*CredDialogHost*" -AND
|
|
|
|
$_ -NotLike "*BioEnrollMent*" -AND
|
|
|
|
$_ -NotLike "*ShellExperienceHost*" -AND
|
|
|
|
$_ -NotLike "*DesktopAppInstaller*" -AND
|
|
|
|
$_ -NotLike "*WebMediaExtensions*" -AND
|
|
|
|
$_ -NotLike "*WMIC*" -AND
|
|
|
|
$_ -NotLike "*UI.XaML*"
|
|
|
|
}
|
|
|
|
|
|
|
|
foreach ($appx in $appxlist)
|
|
|
|
{
|
|
|
|
$status = "Removing $appx"
|
|
|
|
Write-Progress -Activity "Removing Apps" -Status $status -PercentComplete ($counter++/$appxlist.Count*100)
|
2024-01-02 15:45:06 -06:00
|
|
|
dism /English /image:$scratchDir /Remove-Package /PackageName:$appx /NoRestart
|
2023-11-28 16:11:11 -06:00
|
|
|
}
|
|
|
|
Write-Progress -Activity "Removing Apps" -Status "Ready" -Completed
|
|
|
|
}
|
|
|
|
|
2024-01-03 09:49:23 -06:00
|
|
|
function Remove-ProvisionedPackages([switch] $keepSecurity = $false)
|
2023-11-28 16:11:11 -06:00
|
|
|
{
|
2024-01-03 09:49:23 -06:00
|
|
|
<#
|
|
|
|
|
|
|
|
.SYNOPSIS
|
|
|
|
Removes AppX packages from a Windows image during MicroWin processing
|
|
|
|
|
|
|
|
.PARAMETER Name
|
|
|
|
keepSecurity - Boolean that determines whether to keep "Microsoft.SecHealthUI" (Windows Security) in the Windows image
|
|
|
|
|
|
|
|
.EXAMPLE
|
|
|
|
Remove-ProvisionedPackages -keepSecurity:$false
|
|
|
|
|
|
|
|
#>
|
2023-11-28 16:11:11 -06:00
|
|
|
$appxProvisionedPackages = Get-AppxProvisionedPackage -Path "$($scratchDir)" | Where-Object {
|
|
|
|
$_.PackageName -NotLike "*AppInstaller*" -AND
|
|
|
|
$_.PackageName -NotLike "*Store*" -and
|
|
|
|
$_.PackageName -NotLike "*dism*" -and
|
|
|
|
$_.PackageName -NotLike "*Foundation*" -and
|
|
|
|
$_.PackageName -NotLike "*FodMetadata*" -and
|
|
|
|
$_.PackageName -NotLike "*LanguageFeatures*" -and
|
|
|
|
$_.PackageName -NotLike "*Notepad*" -and
|
|
|
|
$_.PackageName -NotLike "*Printing*" -and
|
|
|
|
$_.PackageName -NotLike "*Wifi*" -and
|
|
|
|
$_.PackageName -NotLike "*Foundation*"
|
|
|
|
}
|
2024-01-02 15:45:06 -06:00
|
|
|
|
|
|
|
if ($?)
|
|
|
|
{
|
2024-01-03 09:49:23 -06:00
|
|
|
if ($keepSecurity) { $appxProvisionedPackages = $appxProvisionedPackages | Where-Object { $_.PackageName -NotLike "*SecHealthUI*" }}
|
2024-01-02 15:45:06 -06:00
|
|
|
$counter = 0
|
|
|
|
foreach ($appx in $appxProvisionedPackages)
|
|
|
|
{
|
|
|
|
$status = "Removing Provisioned $($appx.PackageName)"
|
|
|
|
Write-Progress -Activity "Removing Provisioned Apps" -Status $status -PercentComplete ($counter++/$appxProvisionedPackages.Count*100)
|
|
|
|
dism /English /image:$scratchDir /Remove-ProvisionedAppxPackage /PackageName:$($appx.PackageName) /NoRestart
|
|
|
|
}
|
|
|
|
Write-Progress -Activity "Removing Provisioned Apps" -Status "Ready" -Completed
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Write-Host "Could not get Provisioned App information. Skipping process..."
|
|
|
|
}
|
2023-11-28 16:11:11 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
function Copy-ToUSB([string] $fileToCopy)
|
|
|
|
{
|
|
|
|
foreach ($volume in Get-Volume) {
|
|
|
|
if ($volume -and $volume.FileSystemLabel -ieq "ventoy") {
|
|
|
|
$destinationPath = "$($volume.DriveLetter):\"
|
|
|
|
#Copy-Item -Path $fileToCopy -Destination $destinationPath -Force
|
|
|
|
# Get the total size of the file
|
|
|
|
$totalSize = (Get-Item $fileToCopy).length
|
|
|
|
|
|
|
|
Copy-Item -Path $fileToCopy -Destination $destinationPath -Verbose -Force -Recurse -Container -PassThru |
|
|
|
|
ForEach-Object {
|
|
|
|
# Calculate the percentage completed
|
|
|
|
$completed = ($_.BytesTransferred / $totalSize) * 100
|
|
|
|
|
|
|
|
# Display the progress bar
|
|
|
|
Write-Progress -Activity "Copying File" -Status "Progress" -PercentComplete $completed -CurrentOperation ("{0:N2} MB / {1:N2} MB" -f ($_.BytesTransferred / 1MB), ($totalSize / 1MB))
|
|
|
|
}
|
|
|
|
|
|
|
|
Write-Host "File copied to Ventoy drive $($volume.DriveLette)"
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Write-Host "Ventoy USB Key is not inserted"
|
|
|
|
}
|
|
|
|
|
|
|
|
function Remove-FileOrDirectory([string] $pathToDelete, [string] $mask = "", [switch] $Directory = $false)
|
|
|
|
{
|
|
|
|
if(([string]::IsNullOrEmpty($pathToDelete))) { return }
|
|
|
|
if (-not (Test-Path -Path "$($pathToDelete)")) { return }
|
|
|
|
|
|
|
|
$yesNo = Get-LocalizedYesNo
|
Test 2023 12 19 (#1294)
* Compile Winutil
* Issue #1283, #1280 fixes, more (#1288)
* Explorer Fix
* Wifi, Explorer Crash, WinUtil Icon fixes. First attempt at white theme
* White theme
* Fix for clashing microwin directories if process fails, now new directory will be generated
* * Tested latest Windows 10 (22H2) images work fine
* Made dialog box more clear for issue #1283
* Added better logic for handling takeown /D flag for different locals issue #1280
* Refreshed the UI to more modern look
* Improved white theme
* Regrouped Tweak tab to make more sense
* Advanced tweaks were in a separate column but the button applied both Essential and advanced now they are in the same column and button applies both
* All instant action buttons were moved to Customize preferences column
* Explorer lockup Fix
* Wifi, Explorer Crash, WinUtil Icon fixes.
* Fix for clashing microwin directories if process fails, now new directory will be generated
* Merge all
* Theme improvement, adding icon to the shortcut
* Ability to download oscdimg from github, reorginizing Apps to fit better on more (smaller screens)
* Fixing release branch to WinUtil
* Adding double click to fullscreen
* Update Get-Oscdimg.ps1
---------
Co-authored-by: KonTy <KonTy@github.com>
Co-authored-by: Chris Titus <contact@christitus.com>
* Update winutil.ps1
* remove merc and thorium
* Ashlyn Programs
* Also inject drivers into boot.wim
* copy #1291
new branch
---------
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: KonTy <9524513+KonTy@users.noreply.github.com>
Co-authored-by: KonTy <KonTy@github.com>
Co-authored-by: Cedric Lewe <0skillallluck@pm.me>
2023-12-19 13:55:55 -06:00
|
|
|
Write-Host "[INFO] In Your local takeown expects '$($yesNo[0])' as a Yes answer."
|
2023-11-28 16:11:11 -06:00
|
|
|
|
|
|
|
# Specify the path to the directory
|
|
|
|
# $directoryPath = "$($scratchDir)\Windows\System32\LogFiles\WMI\RtBackup"
|
|
|
|
# takeown /a /r /d $yesNo[0] /f "$($directoryPath)" > $null
|
|
|
|
# icacls "$($directoryPath)" /q /c /t /reset > $null
|
|
|
|
# icacls $directoryPath /setowner "*S-1-5-32-544"
|
|
|
|
# icacls $directoryPath /grant "*S-1-5-32-544:(OI)(CI)F" /t /c /q
|
|
|
|
# Remove-Item -Path $directoryPath -Recurse -Force
|
|
|
|
|
|
|
|
# # Grant full control to BUILTIN\Administrators using icacls
|
|
|
|
# $directoryPath = "$($scratchDir)\Windows\System32\WebThreatDefSvc"
|
|
|
|
# takeown /a /r /d $yesNo[0] /f "$($directoryPath)" > $null
|
|
|
|
# icacls "$($directoryPath)" /q /c /t /reset > $null
|
|
|
|
# icacls $directoryPath /setowner "*S-1-5-32-544"
|
|
|
|
# icacls $directoryPath /grant "*S-1-5-32-544:(OI)(CI)F" /t /c /q
|
|
|
|
# Remove-Item -Path $directoryPath -Recurse -Force
|
|
|
|
|
|
|
|
$itemsToDelete = [System.Collections.ArrayList]::new()
|
|
|
|
|
|
|
|
if ($mask -eq "")
|
|
|
|
{
|
|
|
|
Write-Debug "Adding $($pathToDelete) to array."
|
|
|
|
[void]$itemsToDelete.Add($pathToDelete)
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Write-Debug "Adding $($pathToDelete) to array and mask is $($mask)"
|
|
|
|
if ($Directory) { $itemsToDelete = Get-ChildItem $pathToDelete -Include $mask -Recurse -Directory }
|
|
|
|
else { $itemsToDelete = Get-ChildItem $pathToDelete -Include $mask -Recurse }
|
|
|
|
}
|
|
|
|
|
|
|
|
foreach($itemToDelete in $itemsToDelete)
|
|
|
|
{
|
|
|
|
$status = "Deleteing $($itemToDelete)"
|
|
|
|
Write-Progress -Activity "Removing Items" -Status $status -PercentComplete ($counter++/$itemsToDelete.Count*100)
|
|
|
|
|
|
|
|
if (Test-Path -Path "$($itemToDelete)" -PathType Container)
|
|
|
|
{
|
|
|
|
$status = "Deleting directory: $($itemToDelete)"
|
|
|
|
|
|
|
|
takeown /r /d $yesNo[0] /a /f "$($itemToDelete)"
|
|
|
|
icacls "$($itemToDelete)" /q /c /t /reset
|
|
|
|
icacls $itemToDelete /setowner "*S-1-5-32-544"
|
|
|
|
icacls $itemToDelete /grant "*S-1-5-32-544:(OI)(CI)F" /t /c /q
|
|
|
|
Remove-Item -Force -Recurse "$($itemToDelete)"
|
|
|
|
}
|
|
|
|
elseif (Test-Path -Path "$($itemToDelete)" -PathType Leaf)
|
|
|
|
{
|
|
|
|
$status = "Deleting file: $($itemToDelete)"
|
|
|
|
|
|
|
|
takeown /a /f "$($itemToDelete)"
|
|
|
|
icacls "$($itemToDelete)" /q /c /t /reset
|
|
|
|
icacls "$($itemToDelete)" /setowner "*S-1-5-32-544"
|
|
|
|
icacls "$($itemToDelete)" /grant "*S-1-5-32-544:(OI)(CI)F" /t /c /q
|
|
|
|
Remove-Item -Force "$($itemToDelete)"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Write-Progress -Activity "Removing Items" -Status "Ready" -Completed
|
|
|
|
}
|
|
|
|
|
|
|
|
function New-Unattend {
|
|
|
|
|
|
|
|
# later if we wont to remove even more bloat EU requires MS to remove everything from English(world)
|
|
|
|
# Below is an example how to do it we probably should create a drop down with common locals
|
|
|
|
# <settings pass="specialize">
|
|
|
|
# <!-- Specify English (World) locale -->
|
|
|
|
# <component name="Microsoft-Windows-International-Core" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
|
|
# <SetupUILanguage>
|
|
|
|
# <UILanguage>en-US</UILanguage>
|
|
|
|
# </SetupUILanguage>
|
|
|
|
# <InputLocale>en-US</InputLocale>
|
|
|
|
# <SystemLocale>en-US</SystemLocale>
|
|
|
|
# <UILanguage>en-US</UILanguage>
|
|
|
|
# <UserLocale>en-US</UserLocale>
|
|
|
|
# </component>
|
|
|
|
# </settings>
|
|
|
|
|
|
|
|
# <settings pass="oobeSystem">
|
|
|
|
# <!-- Specify English (World) locale -->
|
|
|
|
# <component name="Microsoft-Windows-International-Core" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
|
|
# <InputLocale>en-US</InputLocale>
|
|
|
|
# <SystemLocale>en-US</SystemLocale>
|
|
|
|
# <UILanguage>en-US</UILanguage>
|
|
|
|
# <UserLocale>en-US</UserLocale>
|
|
|
|
# </component>
|
|
|
|
# </settings>
|
|
|
|
# using here string to embedd unattend
|
|
|
|
# <RunSynchronousCommand wcm:action="add">
|
|
|
|
# <Order>1</Order>
|
|
|
|
# <Path>net user administrator /active:yes</Path>
|
|
|
|
# </RunSynchronousCommand>
|
|
|
|
|
2024-01-15 11:32:19 -06:00
|
|
|
# this section doesn't work in win10/????
|
|
|
|
# <settings pass="specialize">
|
|
|
|
# <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
|
|
# <CEIPEnabled>0</CEIPEnabled>
|
|
|
|
# </component>
|
|
|
|
# <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
|
|
# <ConfigureChatAutoInstall>false</ConfigureChatAutoInstall>
|
|
|
|
# </component>
|
|
|
|
# </settings>
|
|
|
|
|
2023-11-28 16:11:11 -06:00
|
|
|
$unattend = @'
|
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<unattend xmlns="urn:schemas-microsoft-com:unattend"
|
|
|
|
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
|
|
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
2024-01-15 11:32:19 -06:00
|
|
|
|
2023-11-28 16:11:11 -06:00
|
|
|
<settings pass="auditUser">
|
|
|
|
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
|
|
<RunSynchronous>
|
|
|
|
<RunSynchronousCommand wcm:action="add">
|
|
|
|
<Order>1</Order>
|
|
|
|
<CommandLine>CMD /C echo LAU GG>C:\Windows\LogAuditUser.txt</CommandLine>
|
|
|
|
<Description>StartMenu</Description>
|
|
|
|
</RunSynchronousCommand>
|
|
|
|
</RunSynchronous>
|
|
|
|
</component>
|
|
|
|
</settings>
|
|
|
|
<settings pass="oobeSystem">
|
|
|
|
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
|
|
<OOBE>
|
|
|
|
<HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
|
|
|
|
<SkipUserOOBE>false</SkipUserOOBE>
|
|
|
|
<SkipMachineOOBE>false</SkipMachineOOBE>
|
|
|
|
<HideOnlineAccountScreens>true</HideOnlineAccountScreens>
|
|
|
|
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
|
|
|
|
<HideEULAPage>true</HideEULAPage>
|
|
|
|
<ProtectYourPC>3</ProtectYourPC>
|
|
|
|
</OOBE>
|
|
|
|
<FirstLogonCommands>
|
|
|
|
<SynchronousCommand wcm:action="add">
|
|
|
|
<Order>1</Order>
|
|
|
|
<CommandLine>cmd.exe /c echo 23>c:\windows\csup.txt</CommandLine>
|
|
|
|
</SynchronousCommand>
|
|
|
|
<SynchronousCommand wcm:action="add">
|
|
|
|
<Order>2</Order>
|
|
|
|
<CommandLine>CMD /C echo GG>C:\Windows\LogOobeSystem.txt</CommandLine>
|
|
|
|
</SynchronousCommand>
|
|
|
|
<SynchronousCommand wcm:action="add">
|
|
|
|
<Order>3</Order>
|
|
|
|
<CommandLine>powershell -ExecutionPolicy Bypass -File c:\windows\FirstStartup.ps1</CommandLine>
|
|
|
|
</SynchronousCommand>
|
|
|
|
</FirstLogonCommands>
|
|
|
|
</component>
|
|
|
|
</settings>
|
|
|
|
</unattend>
|
|
|
|
'@
|
|
|
|
$unattend | Out-File -FilePath "$env:temp\unattend.xml" -Force
|
|
|
|
}
|
|
|
|
|
|
|
|
function New-CheckInstall {
|
|
|
|
|
|
|
|
# using here string to embedd firstrun
|
|
|
|
$checkInstall = @'
|
|
|
|
@echo off
|
|
|
|
if exist "C:\windows\cpu.txt" (
|
|
|
|
echo C:\windows\cpu.txt exists
|
|
|
|
) else (
|
|
|
|
echo C:\windows\cpu.txt does not exist
|
|
|
|
)
|
|
|
|
if exist "C:\windows\SerialNumber.txt" (
|
|
|
|
echo C:\windows\SerialNumber.txt exists
|
|
|
|
) else (
|
|
|
|
echo C:\windows\SerialNumber.txt does not exist
|
|
|
|
)
|
|
|
|
if exist "C:\unattend.xml" (
|
|
|
|
echo C:\unattend.xml exists
|
|
|
|
) else (
|
|
|
|
echo C:\unattend.xml does not exist
|
|
|
|
)
|
|
|
|
if exist "C:\Windows\Setup\Scripts\SetupComplete.cmd" (
|
|
|
|
echo C:\Windows\Setup\Scripts\SetupComplete.cmd exists
|
|
|
|
) else (
|
|
|
|
echo C:\Windows\Setup\Scripts\SetupComplete.cmd does not exist
|
|
|
|
)
|
|
|
|
if exist "C:\Windows\Panther\unattend.xml" (
|
|
|
|
echo C:\Windows\Panther\unattend.xml exists
|
|
|
|
) else (
|
|
|
|
echo C:\Windows\Panther\unattend.xml does not exist
|
|
|
|
)
|
|
|
|
if exist "C:\Windows\System32\Sysprep\unattend.xml" (
|
|
|
|
echo C:\Windows\System32\Sysprep\unattend.xml exists
|
|
|
|
) else (
|
|
|
|
echo C:\Windows\System32\Sysprep\unattend.xml does not exist
|
|
|
|
)
|
|
|
|
if exist "C:\Windows\FirstStartup.ps1" (
|
|
|
|
echo C:\Windows\FirstStartup.ps1 exists
|
|
|
|
) else (
|
|
|
|
echo C:\Windows\FirstStartup.ps1 does not exist
|
|
|
|
)
|
|
|
|
if exist "C:\Windows\winutil.ps1" (
|
|
|
|
echo C:\Windows\winutil.ps1 exists
|
|
|
|
) else (
|
|
|
|
echo C:\Windows\winutil.ps1 does not exist
|
|
|
|
)
|
|
|
|
if exist "C:\Windows\LogSpecialize.txt" (
|
|
|
|
echo C:\Windows\LogSpecialize.txt exists
|
|
|
|
) else (
|
|
|
|
echo C:\Windows\LogSpecialize.txt does not exist
|
|
|
|
)
|
|
|
|
if exist "C:\Windows\LogAuditUser.txt" (
|
|
|
|
echo C:\Windows\LogAuditUser.txt exists
|
|
|
|
) else (
|
|
|
|
echo C:\Windows\LogAuditUser.txt does not exist
|
|
|
|
)
|
|
|
|
if exist "C:\Windows\LogOobeSystem.txt" (
|
|
|
|
echo C:\Windows\LogOobeSystem.txt exists
|
|
|
|
) else (
|
|
|
|
echo C:\Windows\LogOobeSystem.txt does not exist
|
|
|
|
)
|
|
|
|
if exist "c:\windows\csup.txt" (
|
|
|
|
echo c:\windows\csup.txt exists
|
|
|
|
) else (
|
|
|
|
echo c:\windows\csup.txt does not exist
|
|
|
|
)
|
|
|
|
if exist "c:\windows\LogFirstRun.txt" (
|
|
|
|
echo c:\windows\LogFirstRun.txt exists
|
|
|
|
) else (
|
|
|
|
echo c:\windows\LogFirstRun.txt does not exist
|
|
|
|
)
|
|
|
|
'@
|
|
|
|
$checkInstall | Out-File -FilePath "$env:temp\checkinstall.cmd" -Force -Encoding Ascii
|
|
|
|
}
|
|
|
|
|
|
|
|
function New-FirstRun {
|
|
|
|
|
|
|
|
# using here string to embedd firstrun
|
|
|
|
$firstRun = @'
|
|
|
|
# Set the global error action preference to continue
|
|
|
|
$ErrorActionPreference = "Continue"
|
|
|
|
function Remove-RegistryValue
|
|
|
|
{
|
|
|
|
param (
|
|
|
|
[Parameter(Mandatory = $true)]
|
|
|
|
[string]$RegistryPath,
|
|
|
|
|
|
|
|
[Parameter(Mandatory = $true)]
|
|
|
|
[string]$ValueName
|
|
|
|
)
|
|
|
|
|
|
|
|
# Check if the registry path exists
|
|
|
|
if (Test-Path -Path $RegistryPath)
|
|
|
|
{
|
|
|
|
$registryValue = Get-ItemProperty -Path $RegistryPath -Name $ValueName -ErrorAction SilentlyContinue
|
|
|
|
|
|
|
|
# Check if the registry value exists
|
|
|
|
if ($registryValue)
|
|
|
|
{
|
|
|
|
# Remove the registry value
|
|
|
|
Remove-ItemProperty -Path $RegistryPath -Name $ValueName -Force
|
|
|
|
Write-Host "Registry value '$ValueName' removed from '$RegistryPath'."
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Write-Host "Registry value '$ValueName' not found in '$RegistryPath'."
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Write-Host "Registry path '$RegistryPath' not found."
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function Stop-UnnecessaryServices
|
|
|
|
{
|
Test 2024 01 03 (#1384)
* Increase performance during loading. (#1348)
* Increase performance during loading.
Add a clear button to the search box.
Add link and description attributes to the applications JSON.
Use the link for linking to the app website.
Use the description as a tooltip for each app.
Add a clickable link to the website for each application (this took a long time; don't kick me if I got some wrong).
Pressing Escape now clears the filter box.
Pressing Alt-P prints your PID.
* Fix for services that are being stopped
* Compile winutil
* Adding new Get-LocalizedYesNo based on choice.exe which is faster and more reliable, thank you @dtm-r for implementing it and testing it on English, German, Dutch, French, Italian, Spansich and Russian. Incredible work by @dtm-r, all cridit and props go to him.
See this thread for details https://github.com/ChrisTitusTech/winutil/issues/1324
* Added error-checking logic for mounting ISOs and also created a wiki page that explains some of the errors.
---------
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Custom save targets for MicroWin ISOs (#1346)
* Workaround for Explorer freezes
Some people have reported that setting the Event Log service to Automatic and starting it can (temporarily) fix Explorer freezes.
This change detects whether the next service in the list is "EventLog" and skips it
* Allow user to save MicroWin ISOs anywhere
Adds a SaveFileDialog component to let the user specify the location of the MicroWin ISO and uses it during creation with oscdimg.
(It uses a Process object from System.Diagnostics because I couldn't get it to work with Start-Process)
* Removed temporary workaround
Removed my version of the workaround in favor of the version from @KonTy (merge PR #1348 first)
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Highly anticipated fix for small screens (#1358)
* Increase performance during loading.
Add a clear button to the search box.
Add link and description attributes to the applications JSON.
Use the link for linking to the app website.
Use the description as a tooltip for each app.
Add a clickable link to the website for each application (this took a long time; don't kick me if I got some wrong).
Pressing Escape now clears the filter box.
Pressing Alt-P prints your PID.
* Fix for services that are being stopped
* Compile winutil
* Adding new Get-LocalizedYesNo based on choice.exe which is faster and more reliable, thank you @dtm-r for implementing it and testing it on English, German, Dutch, French, Italian, Spansich and Russian. Incredible work by @dtm-r, all cridit and props go to him.
See this thread for details https://github.com/ChrisTitusTech/winutil/issues/1324
* Added error-checking logic for mounting ISOs and also created a wiki page that explains some of the errors.
* Highly anticipated fix for small screen computers
---------
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Winutil take a long time to create iso file and goes to sleep, this fixes that issue #1343 (#1371)
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Create .gitattributes
* Update .gitattributes
* add winget ventoy package (#1374)
* add winget ventoy package
* convert applications.json to utf-8
* update applications.json again
* Compile Winutil
* Update applications.json
fix encoding
* Compile Winutil
* Fix Encoding and Bad Symbols
* Compile Winutil
* feat: Add more software choices (#1379)
* Compile Winutil
* Update configs.Tests.ps1
* Update winutil.Tests.ps1
* Update applications.json
* Compile Winutil
* Update applications.json
* Compile Winutil
* Update applications.json
* Compile Winutil
* fix functions for unit tests
* Compile Winutil
* Update Invoke-MicroWin-Helper.ps1
* Compile Winutil
* fix name WPF Close Button
* Update inputXML.xaml
* Compile Winutil
* my bad that wasnt it
* modify unit test for stop on error
* Compile Winutil
* Update unittests.yaml
* Create test
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Compile Winutil
* Make restore points optional, enabled by default (#1380)
* Make restore points optional, enabled by default
* Tweaks order fix if restorepoint is checked
* Compile Winutil
* update unit tests
* Compile Winutil
* Update unittests.yaml
* Update unittests.yaml
* Update winutil.Tests.ps1
* tests
* Compile Winutil
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* fix unit test
* Update winutil.Tests.ps1
* rewrite all pester test for winutil
* Compile Winutil
* fix handle is invalid error
* final unit test
---------
Co-authored-by: KonTy <9524513+KonTy@users.noreply.github.com>
Co-authored-by: KonTy <KonTy@github.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
Co-authored-by: Munkk <152475628+munkk01@users.noreply.github.com>
Co-authored-by: Kiril Vasilev <Kiril.v92@gmail.com>
2024-01-12 00:34:41 -06:00
|
|
|
$servicesToExclude = @(
|
2023-11-28 16:11:11 -06:00
|
|
|
"AudioSrv",
|
|
|
|
"AudioEndpointBuilder",
|
|
|
|
"BFE",
|
|
|
|
"BITS",
|
|
|
|
"BrokerInfrastructure",
|
|
|
|
"CDPSvc",
|
|
|
|
"CDPUserSvc_dc2a4",
|
|
|
|
"CoreMessagingRegistrar",
|
|
|
|
"CryptSvc",
|
|
|
|
"DPS",
|
|
|
|
"DcomLaunch",
|
|
|
|
"Dhcp",
|
|
|
|
"DispBrokerDesktopSvc",
|
|
|
|
"Dnscache",
|
|
|
|
"DoSvc",
|
|
|
|
"DusmSvc",
|
|
|
|
"EventLog",
|
|
|
|
"EventSystem",
|
|
|
|
"FontCache",
|
|
|
|
"LSM",
|
|
|
|
"LanmanServer",
|
|
|
|
"LanmanWorkstation",
|
|
|
|
"MapsBroker",
|
|
|
|
"MpsSvc",
|
|
|
|
"OneSyncSvc_dc2a4",
|
|
|
|
"Power",
|
|
|
|
"ProfSvc",
|
|
|
|
"RpcEptMapper",
|
|
|
|
"RpcSs",
|
|
|
|
"SCardSvr",
|
|
|
|
"SENS",
|
|
|
|
"SamSs",
|
|
|
|
"Schedule",
|
|
|
|
"SgrmBroker",
|
|
|
|
"ShellHWDetection",
|
|
|
|
"Spooler",
|
|
|
|
"SysMain",
|
|
|
|
"SystemEventsBroker",
|
|
|
|
"TextInputManagementService",
|
|
|
|
"Themes",
|
|
|
|
"TrkWks",
|
|
|
|
"UserManager",
|
|
|
|
"VGAuthService",
|
|
|
|
"VMTools",
|
|
|
|
"WSearch",
|
|
|
|
"Wcmsvc",
|
|
|
|
"WinDefend",
|
|
|
|
"Winmgmt",
|
|
|
|
"WlanSvc",
|
|
|
|
"WpnService",
|
|
|
|
"WpnUserService_dc2a4",
|
|
|
|
"cbdhsvc_dc2a4",
|
|
|
|
"edgeupdate",
|
|
|
|
"gpsvc",
|
|
|
|
"iphlpsvc",
|
|
|
|
"mpssvc",
|
|
|
|
"nsi",
|
|
|
|
"sppsvc",
|
|
|
|
"tiledatamodelsvc",
|
|
|
|
"vm3dservice",
|
|
|
|
"webthreatdefusersvc_dc2a4",
|
|
|
|
"wscsvc"
|
Test 2024 01 03 (#1384)
* Increase performance during loading. (#1348)
* Increase performance during loading.
Add a clear button to the search box.
Add link and description attributes to the applications JSON.
Use the link for linking to the app website.
Use the description as a tooltip for each app.
Add a clickable link to the website for each application (this took a long time; don't kick me if I got some wrong).
Pressing Escape now clears the filter box.
Pressing Alt-P prints your PID.
* Fix for services that are being stopped
* Compile winutil
* Adding new Get-LocalizedYesNo based on choice.exe which is faster and more reliable, thank you @dtm-r for implementing it and testing it on English, German, Dutch, French, Italian, Spansich and Russian. Incredible work by @dtm-r, all cridit and props go to him.
See this thread for details https://github.com/ChrisTitusTech/winutil/issues/1324
* Added error-checking logic for mounting ISOs and also created a wiki page that explains some of the errors.
---------
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Custom save targets for MicroWin ISOs (#1346)
* Workaround for Explorer freezes
Some people have reported that setting the Event Log service to Automatic and starting it can (temporarily) fix Explorer freezes.
This change detects whether the next service in the list is "EventLog" and skips it
* Allow user to save MicroWin ISOs anywhere
Adds a SaveFileDialog component to let the user specify the location of the MicroWin ISO and uses it during creation with oscdimg.
(It uses a Process object from System.Diagnostics because I couldn't get it to work with Start-Process)
* Removed temporary workaround
Removed my version of the workaround in favor of the version from @KonTy (merge PR #1348 first)
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Highly anticipated fix for small screens (#1358)
* Increase performance during loading.
Add a clear button to the search box.
Add link and description attributes to the applications JSON.
Use the link for linking to the app website.
Use the description as a tooltip for each app.
Add a clickable link to the website for each application (this took a long time; don't kick me if I got some wrong).
Pressing Escape now clears the filter box.
Pressing Alt-P prints your PID.
* Fix for services that are being stopped
* Compile winutil
* Adding new Get-LocalizedYesNo based on choice.exe which is faster and more reliable, thank you @dtm-r for implementing it and testing it on English, German, Dutch, French, Italian, Spansich and Russian. Incredible work by @dtm-r, all cridit and props go to him.
See this thread for details https://github.com/ChrisTitusTech/winutil/issues/1324
* Added error-checking logic for mounting ISOs and also created a wiki page that explains some of the errors.
* Highly anticipated fix for small screen computers
---------
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Winutil take a long time to create iso file and goes to sleep, this fixes that issue #1343 (#1371)
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Create .gitattributes
* Update .gitattributes
* add winget ventoy package (#1374)
* add winget ventoy package
* convert applications.json to utf-8
* update applications.json again
* Compile Winutil
* Update applications.json
fix encoding
* Compile Winutil
* Fix Encoding and Bad Symbols
* Compile Winutil
* feat: Add more software choices (#1379)
* Compile Winutil
* Update configs.Tests.ps1
* Update winutil.Tests.ps1
* Update applications.json
* Compile Winutil
* Update applications.json
* Compile Winutil
* Update applications.json
* Compile Winutil
* fix functions for unit tests
* Compile Winutil
* Update Invoke-MicroWin-Helper.ps1
* Compile Winutil
* fix name WPF Close Button
* Update inputXML.xaml
* Compile Winutil
* my bad that wasnt it
* modify unit test for stop on error
* Compile Winutil
* Update unittests.yaml
* Create test
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Compile Winutil
* Make restore points optional, enabled by default (#1380)
* Make restore points optional, enabled by default
* Tweaks order fix if restorepoint is checked
* Compile Winutil
* update unit tests
* Compile Winutil
* Update unittests.yaml
* Update unittests.yaml
* Update winutil.Tests.ps1
* tests
* Compile Winutil
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* fix unit test
* Update winutil.Tests.ps1
* rewrite all pester test for winutil
* Compile Winutil
* fix handle is invalid error
* final unit test
---------
Co-authored-by: KonTy <9524513+KonTy@users.noreply.github.com>
Co-authored-by: KonTy <KonTy@github.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
Co-authored-by: Munkk <152475628+munkk01@users.noreply.github.com>
Co-authored-by: Kiril Vasilev <Kiril.v92@gmail.com>
2024-01-12 00:34:41 -06:00
|
|
|
)
|
2023-11-28 16:11:11 -06:00
|
|
|
|
Test 2024 01 03 (#1384)
* Increase performance during loading. (#1348)
* Increase performance during loading.
Add a clear button to the search box.
Add link and description attributes to the applications JSON.
Use the link for linking to the app website.
Use the description as a tooltip for each app.
Add a clickable link to the website for each application (this took a long time; don't kick me if I got some wrong).
Pressing Escape now clears the filter box.
Pressing Alt-P prints your PID.
* Fix for services that are being stopped
* Compile winutil
* Adding new Get-LocalizedYesNo based on choice.exe which is faster and more reliable, thank you @dtm-r for implementing it and testing it on English, German, Dutch, French, Italian, Spansich and Russian. Incredible work by @dtm-r, all cridit and props go to him.
See this thread for details https://github.com/ChrisTitusTech/winutil/issues/1324
* Added error-checking logic for mounting ISOs and also created a wiki page that explains some of the errors.
---------
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Custom save targets for MicroWin ISOs (#1346)
* Workaround for Explorer freezes
Some people have reported that setting the Event Log service to Automatic and starting it can (temporarily) fix Explorer freezes.
This change detects whether the next service in the list is "EventLog" and skips it
* Allow user to save MicroWin ISOs anywhere
Adds a SaveFileDialog component to let the user specify the location of the MicroWin ISO and uses it during creation with oscdimg.
(It uses a Process object from System.Diagnostics because I couldn't get it to work with Start-Process)
* Removed temporary workaround
Removed my version of the workaround in favor of the version from @KonTy (merge PR #1348 first)
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Highly anticipated fix for small screens (#1358)
* Increase performance during loading.
Add a clear button to the search box.
Add link and description attributes to the applications JSON.
Use the link for linking to the app website.
Use the description as a tooltip for each app.
Add a clickable link to the website for each application (this took a long time; don't kick me if I got some wrong).
Pressing Escape now clears the filter box.
Pressing Alt-P prints your PID.
* Fix for services that are being stopped
* Compile winutil
* Adding new Get-LocalizedYesNo based on choice.exe which is faster and more reliable, thank you @dtm-r for implementing it and testing it on English, German, Dutch, French, Italian, Spansich and Russian. Incredible work by @dtm-r, all cridit and props go to him.
See this thread for details https://github.com/ChrisTitusTech/winutil/issues/1324
* Added error-checking logic for mounting ISOs and also created a wiki page that explains some of the errors.
* Highly anticipated fix for small screen computers
---------
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Winutil take a long time to create iso file and goes to sleep, this fixes that issue #1343 (#1371)
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Create .gitattributes
* Update .gitattributes
* add winget ventoy package (#1374)
* add winget ventoy package
* convert applications.json to utf-8
* update applications.json again
* Compile Winutil
* Update applications.json
fix encoding
* Compile Winutil
* Fix Encoding and Bad Symbols
* Compile Winutil
* feat: Add more software choices (#1379)
* Compile Winutil
* Update configs.Tests.ps1
* Update winutil.Tests.ps1
* Update applications.json
* Compile Winutil
* Update applications.json
* Compile Winutil
* Update applications.json
* Compile Winutil
* fix functions for unit tests
* Compile Winutil
* Update Invoke-MicroWin-Helper.ps1
* Compile Winutil
* fix name WPF Close Button
* Update inputXML.xaml
* Compile Winutil
* my bad that wasnt it
* modify unit test for stop on error
* Compile Winutil
* Update unittests.yaml
* Create test
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Compile Winutil
* Make restore points optional, enabled by default (#1380)
* Make restore points optional, enabled by default
* Tweaks order fix if restorepoint is checked
* Compile Winutil
* update unit tests
* Compile Winutil
* Update unittests.yaml
* Update unittests.yaml
* Update winutil.Tests.ps1
* tests
* Compile Winutil
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* fix unit test
* Update winutil.Tests.ps1
* rewrite all pester test for winutil
* Compile Winutil
* fix handle is invalid error
* final unit test
---------
Co-authored-by: KonTy <9524513+KonTy@users.noreply.github.com>
Co-authored-by: KonTy <KonTy@github.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
Co-authored-by: Munkk <152475628+munkk01@users.noreply.github.com>
Co-authored-by: Kiril Vasilev <Kiril.v92@gmail.com>
2024-01-12 00:34:41 -06:00
|
|
|
$runningServices = Get-Service | Where-Object { $servicesToExclude -notcontains $_.Name }
|
|
|
|
foreach($service in $runningServices)
|
2023-11-28 16:11:11 -06:00
|
|
|
{
|
Test 2024 01 03 (#1384)
* Increase performance during loading. (#1348)
* Increase performance during loading.
Add a clear button to the search box.
Add link and description attributes to the applications JSON.
Use the link for linking to the app website.
Use the description as a tooltip for each app.
Add a clickable link to the website for each application (this took a long time; don't kick me if I got some wrong).
Pressing Escape now clears the filter box.
Pressing Alt-P prints your PID.
* Fix for services that are being stopped
* Compile winutil
* Adding new Get-LocalizedYesNo based on choice.exe which is faster and more reliable, thank you @dtm-r for implementing it and testing it on English, German, Dutch, French, Italian, Spansich and Russian. Incredible work by @dtm-r, all cridit and props go to him.
See this thread for details https://github.com/ChrisTitusTech/winutil/issues/1324
* Added error-checking logic for mounting ISOs and also created a wiki page that explains some of the errors.
---------
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Custom save targets for MicroWin ISOs (#1346)
* Workaround for Explorer freezes
Some people have reported that setting the Event Log service to Automatic and starting it can (temporarily) fix Explorer freezes.
This change detects whether the next service in the list is "EventLog" and skips it
* Allow user to save MicroWin ISOs anywhere
Adds a SaveFileDialog component to let the user specify the location of the MicroWin ISO and uses it during creation with oscdimg.
(It uses a Process object from System.Diagnostics because I couldn't get it to work with Start-Process)
* Removed temporary workaround
Removed my version of the workaround in favor of the version from @KonTy (merge PR #1348 first)
---------
Co-authored-by: Chris Titus <contact@christitus.com>
* Highly anticipated fix for small screens (#1358)
* Increase performance during loading.
Add a clear button to the search box.
Add link and description attributes to the applications JSON.
Use the link for linking to the app website.
Use the description as a tooltip for each app.
Add a clickable link to the website for each application (this took a long time; don't kick me if I got some wrong).
Pressing Escape now clears the filter box.
Pressing Alt-P prints your PID.
* Fix for services that are being stopped
* Compile winutil
* Adding new Get-LocalizedYesNo based on choice.exe which is faster and more reliable, thank you @dtm-r for implementing it and testing it on English, German, Dutch, French, Italian, Spansich and Russian. Incredible work by @dtm-r, all cridit and props go to him.
See this thread for details https://github.com/ChrisTitusTech/winutil/issues/1324
* Added error-checking logic for mounting ISOs and also created a wiki page that explains some of the errors.
* Highly anticipated fix for small screen computers
---------
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Winutil take a long time to create iso file and goes to sleep, this fixes that issue #1343 (#1371)
Co-authored-by: KonTy <KonTy@github.com>
* Compile Winutil
* Create .gitattributes
* Update .gitattributes
* add winget ventoy package (#1374)
* add winget ventoy package
* convert applications.json to utf-8
* update applications.json again
* Compile Winutil
* Update applications.json
fix encoding
* Compile Winutil
* Fix Encoding and Bad Symbols
* Compile Winutil
* feat: Add more software choices (#1379)
* Compile Winutil
* Update configs.Tests.ps1
* Update winutil.Tests.ps1
* Update applications.json
* Compile Winutil
* Update applications.json
* Compile Winutil
* Update applications.json
* Compile Winutil
* fix functions for unit tests
* Compile Winutil
* Update Invoke-MicroWin-Helper.ps1
* Compile Winutil
* fix name WPF Close Button
* Update inputXML.xaml
* Compile Winutil
* my bad that wasnt it
* modify unit test for stop on error
* Compile Winutil
* Update unittests.yaml
* Create test
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* Compile Winutil
* Make restore points optional, enabled by default (#1380)
* Make restore points optional, enabled by default
* Tweaks order fix if restorepoint is checked
* Compile Winutil
* update unit tests
* Compile Winutil
* Update unittests.yaml
* Update unittests.yaml
* Update winutil.Tests.ps1
* tests
* Compile Winutil
* Update unittests.yaml
* Update unittests.yaml
* Update unittests.yaml
* fix unit test
* Update winutil.Tests.ps1
* rewrite all pester test for winutil
* Compile Winutil
* fix handle is invalid error
* final unit test
---------
Co-authored-by: KonTy <9524513+KonTy@users.noreply.github.com>
Co-authored-by: KonTy <KonTy@github.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
Co-authored-by: CodingWonders <101426328+CodingWonders@users.noreply.github.com>
Co-authored-by: Munkk <152475628+munkk01@users.noreply.github.com>
Co-authored-by: Kiril Vasilev <Kiril.v92@gmail.com>
2024-01-12 00:34:41 -06:00
|
|
|
Stop-Service -Name $service.Name -PassThru
|
2023-11-28 16:11:11 -06:00
|
|
|
Set-Service $service.Name -StartupType Manual
|
|
|
|
"Stopping service $($service.Name)" | Out-File -FilePath c:\windows\LogFirstRun.txt -Append -NoClobber
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
"FirstStartup has worked" | Out-File -FilePath c:\windows\LogFirstRun.txt -Append -NoClobber
|
|
|
|
|
|
|
|
$Theme = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize"
|
|
|
|
Set-ItemProperty -Path $Theme -Name AppsUseLightTheme -Value 1
|
|
|
|
Set-ItemProperty -Path $Theme -Name SystemUsesLightTheme -Value 1
|
|
|
|
|
|
|
|
# figure this out later how to set updates to security only
|
|
|
|
#Import-Module -Name PSWindowsUpdate;
|
|
|
|
#Stop-Service -Name wuauserv
|
|
|
|
#Set-WUSettings -MicrosoftUpdateEnabled -AutoUpdateOption 'Never'
|
|
|
|
#Start-Service -Name wuauserv
|
|
|
|
|
|
|
|
Stop-UnnecessaryServices
|
|
|
|
|
|
|
|
$taskbarPath = "$env:AppData\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar"
|
|
|
|
# Delete all files on the Taskbar
|
|
|
|
Get-ChildItem -Path $taskbarPath -File | Remove-Item -Force
|
|
|
|
Remove-RegistryValue -RegistryPath "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband" -ValueName "FavoritesRemovedChanges"
|
|
|
|
Remove-RegistryValue -RegistryPath "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband" -ValueName "FavoritesChanges"
|
|
|
|
Remove-RegistryValue -RegistryPath "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband" -ValueName "Favorites"
|
|
|
|
|
|
|
|
# Stop-Process -Name explorer -Force
|
|
|
|
|
|
|
|
$process = Get-Process -Name "explorer"
|
|
|
|
Stop-Process -InputObject $process
|
|
|
|
# Wait for the process to exit
|
|
|
|
Wait-Process -InputObject $process
|
|
|
|
Start-Sleep -Seconds 3
|
|
|
|
|
|
|
|
# Delete Edge Icon from the desktop
|
|
|
|
$edgeShortcutFiles = Get-ChildItem -Path $desktopPath -Filter "*Edge*.lnk"
|
|
|
|
# Check if Edge shortcuts exist on the desktop
|
|
|
|
if ($edgeShortcutFiles)
|
|
|
|
{
|
|
|
|
foreach ($shortcutFile in $edgeShortcutFiles)
|
|
|
|
{
|
|
|
|
# Remove each Edge shortcut
|
|
|
|
Remove-Item -Path $shortcutFile.FullName -Force
|
|
|
|
Write-Host "Edge shortcut '$($shortcutFile.Name)' removed from the desktop."
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Remove-Item -Path "$env:USERPROFILE\Desktop\*.lnk"
|
|
|
|
Remove-Item -Path "C:\Users\Default\Desktop\*.lnk"
|
|
|
|
|
|
|
|
# ************************************************
|
|
|
|
# Create WinUtil shortcut on the desktop
|
|
|
|
#
|
|
|
|
$desktopPath = "$($env:USERPROFILE)\Desktop"
|
|
|
|
# Specify the target PowerShell command
|
|
|
|
$command = "powershell.exe -NoProfile -ExecutionPolicy Bypass -Command 'irm https://christitus.com/win | iex'"
|
|
|
|
# Specify the path for the shortcut
|
|
|
|
$shortcutPath = Join-Path $desktopPath 'winutil.lnk'
|
|
|
|
# Create a shell object
|
|
|
|
$shell = New-Object -ComObject WScript.Shell
|
|
|
|
|
|
|
|
# Create a shortcut object
|
|
|
|
$shortcut = $shell.CreateShortcut($shortcutPath)
|
|
|
|
|
|
|
|
if (Test-Path -Path "c:\Windows\cttlogo.png")
|
|
|
|
{
|
|
|
|
$shortcut.IconLocation = "c:\Windows\cttlogo.png"
|
|
|
|
}
|
|
|
|
|
|
|
|
# Set properties of the shortcut
|
|
|
|
$shortcut.TargetPath = "powershell.exe"
|
|
|
|
$shortcut.Arguments = "-NoProfile -ExecutionPolicy Bypass -Command `"$command`""
|
|
|
|
# Save the shortcut
|
|
|
|
$shortcut.Save()
|
|
|
|
Write-Host "Shortcut created at: $shortcutPath"
|
|
|
|
#
|
|
|
|
# Done create WinUtil shortcut on the desktop
|
|
|
|
# ************************************************
|
|
|
|
|
|
|
|
Start-Process explorer
|
|
|
|
|
|
|
|
'@
|
|
|
|
$firstRun | Out-File -FilePath "$env:temp\FirstStartup.ps1" -Force
|
|
|
|
}
|