mirror of
https://github.com/ChrisTitusTech/winutil
synced 2026-04-05 22:28:31 +00:00
Compare commits
10 Commits
a8db21b2ef
...
26.02.24
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2ba3a5d324 | ||
|
|
f854d14117 | ||
|
|
19204534a2 | ||
|
|
a9d9b148db | ||
|
|
d5d0bf25f0 | ||
|
|
da3fd87f9a | ||
|
|
9e8cefc973 | ||
|
|
a532e9ec9d | ||
|
|
844979fee7 | ||
|
|
78302934ef |
7
.github/workflows/auto-merge-docs.yaml
vendored
7
.github/workflows/auto-merge-docs.yaml
vendored
@@ -8,7 +8,7 @@ on:
|
||||
|
||||
jobs:
|
||||
auto-merge:
|
||||
if: github.event.pull_request.head.ref == 'docs-update' && github.event.pull_request.user.login == 'github-actions[bot]'
|
||||
if: github.event.pull_request.head.ref == 'docs-update' && (github.event.pull_request.user.login == 'ChrisTitusTech' || github.event.pull_request.user.login == 'github-actions[bot]')
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
@@ -18,13 +18,14 @@ jobs:
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Auto-approve PR
|
||||
if: github.event.pull_request.user.login == 'github-actions[bot]'
|
||||
run: gh pr review "$PR_NUMBER" --approve
|
||||
env:
|
||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||
GH_TOKEN: ${{ secrets.AUTO_MERGE }}
|
||||
|
||||
- name: Enable auto-merge
|
||||
run: gh pr merge "$PR_NUMBER" --squash --auto --delete-branch
|
||||
run: gh pr merge "$PR_NUMBER" --squash --delete-branch --admin
|
||||
env:
|
||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GH_TOKEN: ${{ secrets.AUTO_MERGE }}
|
||||
|
||||
15
.github/workflows/docs.yaml
vendored
15
.github/workflows/docs.yaml
vendored
@@ -12,7 +12,7 @@ on:
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
contents: read
|
||||
pages: write
|
||||
id-token: write
|
||||
pull-requests: write
|
||||
@@ -47,22 +47,27 @@ jobs:
|
||||
- name: Setup Pages
|
||||
id: pages
|
||||
uses: actions/configure-pages@v5
|
||||
|
||||
- name: Generate Dev Docs from JSON
|
||||
shell: pwsh
|
||||
run: |
|
||||
Set-Location tools
|
||||
./devdocs-generator.ps1
|
||||
|
||||
- name: Create Pull Request 🚀
|
||||
- name: Create Pull Request
|
||||
id: cpr
|
||||
uses: peter-evans/create-pull-request@v6
|
||||
uses: peter-evans/create-pull-request@v8
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
commit-message: 'Update generated documentation'
|
||||
token: ${{ secrets.AUTO_MERGE }}
|
||||
commit-message: 'chore: Update generated dev docs'
|
||||
title: 'chore: Update Generated Dev Docs'
|
||||
body: 'Automated update of generated documentation from JSON sources'
|
||||
branch: docs-update
|
||||
delete-branch: true
|
||||
add-paths: |
|
||||
docs/content/dev/
|
||||
config/tweaks.json
|
||||
config/feature.json
|
||||
labels: |
|
||||
automated
|
||||
documentation
|
||||
|
||||
37
.github/workflows/pre-release.yaml
vendored
37
.github/workflows/pre-release.yaml
vendored
@@ -3,6 +3,7 @@ name: Pre-Release WinUtil
|
||||
permissions:
|
||||
contents: write
|
||||
actions: read
|
||||
pull-requests: write
|
||||
|
||||
on:
|
||||
workflow_dispatch: # Manual trigger added
|
||||
@@ -22,25 +23,35 @@ jobs:
|
||||
Set-Location tools
|
||||
./devdocs-generator.ps1
|
||||
|
||||
- name: Commit Updated JSON Links
|
||||
shell: pwsh
|
||||
run: |
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git add config/tweaks.json config/feature.json
|
||||
$changes = git diff --cached --quiet; if ($LASTEXITCODE -ne 0) {
|
||||
git commit -m "Update documentation links in JSON configs"
|
||||
git push
|
||||
} else {
|
||||
Write-Host "No JSON link changes to commit"
|
||||
}
|
||||
|
||||
- name: Compile project
|
||||
shell: pwsh
|
||||
run: |
|
||||
Set-ExecutionPolicy Bypass -Scope Process -Force; ./Compile.ps1
|
||||
continue-on-error: false # Directly fail the job on error, removing the need for a separate check
|
||||
|
||||
- name: Create Pull Request for Updated JSON Links
|
||||
id: cpr
|
||||
uses: peter-evans/create-pull-request@v8
|
||||
with:
|
||||
token: ${{ secrets.AUTO_MERGE }}
|
||||
commit-message: 'chore: Update documentation links in JSON configs'
|
||||
title: 'chore: Update Generated Dev Docs'
|
||||
body: 'Automated update of documentation links in JSON configs from pre-release build'
|
||||
branch: docs-update
|
||||
delete-branch: true
|
||||
add-paths: |
|
||||
config/tweaks.json
|
||||
config/feature.json
|
||||
labels: |
|
||||
automated
|
||||
documentation
|
||||
|
||||
- name: Check outputs
|
||||
shell: bash
|
||||
run: |
|
||||
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
|
||||
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
|
||||
|
||||
- name: Set Version to Todays Date
|
||||
id: extract_version
|
||||
run: |
|
||||
|
||||
2
.github/workflows/sponsors.yaml
vendored
2
.github/workflows/sponsors.yaml
vendored
@@ -24,7 +24,7 @@ jobs:
|
||||
|
||||
- name: Create Pull Request 🚀
|
||||
id: cpr
|
||||
uses: peter-evans/create-pull-request@v6
|
||||
uses: peter-evans/create-pull-request@v8
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
commit-message: 'Update sponsors in README'
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
],
|
||||
"Minimal": [
|
||||
"WPFTweaksConsumerFeatures",
|
||||
"WPFTweaksDisableExplorerAutoDiscovery",
|
||||
"WPFTweaksWPBT",
|
||||
"WPFTweaksServices",
|
||||
"WPFTweaksTelemetry"
|
||||
|
||||
@@ -2615,7 +2615,7 @@
|
||||
},
|
||||
"WPFTweaksDisableExplorerAutoDiscovery": {
|
||||
"Content": "Disable Explorer Automatic Folder Discovery",
|
||||
"Description": "Windows Explorer automatically tries to guess the type of the folder based on its contents, slowing down the browsing experience.",
|
||||
"Description": "Windows Explorer automatically tries to guess the type of the folder based on its contents, slowing down the browsing experience. WARNING! Will disable file explorer grouping",
|
||||
"category": "Essential Tweaks",
|
||||
"panel": "1",
|
||||
"InvokeScript": [
|
||||
|
||||
@@ -3,13 +3,12 @@ title: "Disable Legacy F8 Boot Recovery"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=107}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=100}
|
||||
"WPFFeatureDisableLegacyRecovery": {
|
||||
"Content": "Disable Legacy F8 Boot Recovery",
|
||||
"Description": "Disables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.",
|
||||
"category": "Features",
|
||||
"panel": "1",
|
||||
"Order": "a019_",
|
||||
"feature": [],
|
||||
"InvokeScript": [
|
||||
"bcdedit /set bootmenupolicy standard"
|
||||
|
||||
@@ -3,13 +3,12 @@ title: "Enable Legacy F8 Boot Recovery"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=95}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=89}
|
||||
"WPFFeatureEnableLegacyRecovery": {
|
||||
"Content": "Enable Legacy F8 Boot Recovery",
|
||||
"Description": "Enables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.",
|
||||
"category": "Features",
|
||||
"panel": "1",
|
||||
"Order": "a018_",
|
||||
"feature": [],
|
||||
"InvokeScript": [
|
||||
"bcdedit /set bootmenupolicy legacy"
|
||||
|
||||
@@ -3,13 +3,12 @@ title: "Enable Daily Registry Backup Task 12.30am"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=77}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=72}
|
||||
"WPFFeatureRegBackup": {
|
||||
"Content": "Enable Daily Registry Backup Task 12.30am",
|
||||
"Description": "Enables daily registry backup, previously disabled by Microsoft in Windows 10 1803.",
|
||||
"category": "Features",
|
||||
"panel": "1",
|
||||
"Order": "a017_",
|
||||
"feature": [],
|
||||
"InvokeScript": [
|
||||
"
|
||||
|
||||
@@ -3,13 +3,12 @@ title: "Windows Sandbox"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=119}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=111}
|
||||
"WPFFeaturesSandbox": {
|
||||
"Content": "Windows Sandbox",
|
||||
"Description": "Windows Sandbox is a lightweight virtual machine that provides a temporary desktop environment to safely run applications and programs in isolation.",
|
||||
"category": "Features",
|
||||
"panel": "1",
|
||||
"Order": "a021_",
|
||||
"feature": [
|
||||
"Containers-DisposableClientVM"
|
||||
],
|
||||
|
||||
@@ -9,7 +9,6 @@ description: ""
|
||||
"Description": ".NET and .NET Framework is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.",
|
||||
"category": "Features",
|
||||
"panel": "1",
|
||||
"Order": "a010_",
|
||||
"feature": [
|
||||
"NetFx4-AdvSrvs",
|
||||
"NetFx3"
|
||||
|
||||
@@ -3,13 +3,12 @@ title: "HyperV Virtualization"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=15}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=14}
|
||||
"WPFFeatureshyperv": {
|
||||
"Content": "HyperV Virtualization",
|
||||
"Description": "Hyper-V is a hardware virtualization product developed by Microsoft that allows users to create and manage virtual machines.",
|
||||
"category": "Features",
|
||||
"panel": "1",
|
||||
"Order": "a011_",
|
||||
"feature": [
|
||||
"Microsoft-Hyper-V-All"
|
||||
],
|
||||
|
||||
@@ -3,13 +3,12 @@ title: "Legacy Media (WMP, DirectPlay)"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=29}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=27}
|
||||
"WPFFeatureslegacymedia": {
|
||||
"Content": "Legacy Media (WMP, DirectPlay)",
|
||||
"Description": "Enables legacy programs from previous versions of windows",
|
||||
"category": "Features",
|
||||
"panel": "1",
|
||||
"Order": "a012_",
|
||||
"feature": [
|
||||
"WindowsMediaPlayer",
|
||||
"MediaPlayback",
|
||||
|
||||
@@ -3,13 +3,12 @@ title: "NFS - Network File System"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=57}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=53}
|
||||
"WPFFeaturenfs": {
|
||||
"Content": "NFS - Network File System",
|
||||
"Description": "Network File System (NFS) is a mechanism for storing files on a network.",
|
||||
"category": "Features",
|
||||
"panel": "1",
|
||||
"Order": "a014_",
|
||||
"feature": [
|
||||
"ServicesForNFS-ClientOnly",
|
||||
"ClientForNFS-Infrastructure",
|
||||
|
||||
@@ -3,13 +3,12 @@ title: "Windows Subsystem for Linux"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=44}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=41}
|
||||
"WPFFeaturewsl": {
|
||||
"Content": "Windows Subsystem for Linux",
|
||||
"Description": "Windows Subsystem for Linux is an optional feature of Windows that allows Linux programs to run natively on Windows without the need for a separate virtual machine or dual booting.",
|
||||
"category": "Features",
|
||||
"panel": "1",
|
||||
"Order": "a020_",
|
||||
"feature": [
|
||||
"VirtualMachinePlatform",
|
||||
"Microsoft-Windows-Subsystem-Linux"
|
||||
|
||||
@@ -8,13 +8,15 @@ function Invoke-WPFSystemRepair {
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Checks for system corruption using SFC, and DISM
|
||||
Checks for disk failure using Chkdsk
|
||||
|
||||
.DESCRIPTION
|
||||
1. SFC - Fixes system file corruption, and fixes DISM if it was corrupted
|
||||
2. DISM - Fixes system image corruption, and fixes SFC's system image if it was corrupted
|
||||
3. Chkdsk - Checks for disk errors, which can cause system file corruption and notifies of early disk failure
|
||||
1. Chkdsk - Checks for disk errors, which can cause system file corruption and notifies of early disk failure
|
||||
2. SFC - scans protected system files for corruption and fixes them
|
||||
3. DISM - Repair a corrupted Windows operating system image
|
||||
#>
|
||||
Start-Process cmd.exe -ArgumentList "/c chkdsk.exe /scan /perf" -NoNewWindow -Wait
|
||||
|
||||
Start-Process cmd.exe -ArgumentList "/c chkdsk /scan /perf" -NoNewWindow -Wait
|
||||
Start-Process cmd.exe -ArgumentList "/c sfc /scannow" -NoNewWindow -Wait
|
||||
Start-Process cmd.exe -ArgumentList "/c dism /online /cleanup-image /restorehealth" -NoNewWindow -Wait
|
||||
|
||||
|
||||
@@ -3,31 +3,14 @@ title: "Computer Management"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```powershell {filename="functions/public/Invoke-WPFControlPanel.ps1",linenos=inline,linenostart=1}
|
||||
function Invoke-WPFControlPanel {
|
||||
<#
|
||||
|
||||
.SYNOPSIS
|
||||
Opens the requested legacy panel
|
||||
|
||||
.PARAMETER Panel
|
||||
The panel to open
|
||||
|
||||
#>
|
||||
param($Panel)
|
||||
|
||||
switch ($Panel) {
|
||||
"WPFPanelControl" {control}
|
||||
"WPFPanelComputer" {compmgmt.msc}
|
||||
"WPFPanelNetwork" {ncpa.cpl}
|
||||
"WPFPanelPower" {powercfg.cpl}
|
||||
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
|
||||
"WPFPanelRegion" {intl.cpl}
|
||||
"WPFPanelRestore" {rstrui.exe}
|
||||
"WPFPanelSound" {mmsys.cpl}
|
||||
"WPFPanelSystem" {sysdm.cpl}
|
||||
"WPFPanelTimedate" {timedate.cpl}
|
||||
"WPFPanelUser" {control userpasswords2}
|
||||
}
|
||||
}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=186}
|
||||
"WPFPanelComputer": {
|
||||
"Content": "Computer Management",
|
||||
"category": "Legacy Windows Panels",
|
||||
"panel": "2",
|
||||
"Type": "Button",
|
||||
"ButtonWidth": "300",
|
||||
"InvokeScript": [
|
||||
"compmgmt.msc"
|
||||
],
|
||||
```
|
||||
|
||||
@@ -3,31 +3,14 @@ title: "Control Panel"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```powershell {filename="functions/public/Invoke-WPFControlPanel.ps1",linenos=inline,linenostart=1}
|
||||
function Invoke-WPFControlPanel {
|
||||
<#
|
||||
|
||||
.SYNOPSIS
|
||||
Opens the requested legacy panel
|
||||
|
||||
.PARAMETER Panel
|
||||
The panel to open
|
||||
|
||||
#>
|
||||
param($Panel)
|
||||
|
||||
switch ($Panel) {
|
||||
"WPFPanelControl" {control}
|
||||
"WPFPanelComputer" {compmgmt.msc}
|
||||
"WPFPanelNetwork" {ncpa.cpl}
|
||||
"WPFPanelPower" {powercfg.cpl}
|
||||
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
|
||||
"WPFPanelRegion" {intl.cpl}
|
||||
"WPFPanelRestore" {rstrui.exe}
|
||||
"WPFPanelSound" {mmsys.cpl}
|
||||
"WPFPanelSystem" {sysdm.cpl}
|
||||
"WPFPanelTimedate" {timedate.cpl}
|
||||
"WPFPanelUser" {control userpasswords2}
|
||||
}
|
||||
}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=175}
|
||||
"WPFPanelControl": {
|
||||
"Content": "Control Panel",
|
||||
"category": "Legacy Windows Panels",
|
||||
"panel": "2",
|
||||
"Type": "Button",
|
||||
"ButtonWidth": "300",
|
||||
"InvokeScript": [
|
||||
"control"
|
||||
],
|
||||
```
|
||||
|
||||
@@ -3,31 +3,14 @@ title: "Network Connections"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```powershell {filename="functions/public/Invoke-WPFControlPanel.ps1",linenos=inline,linenostart=1}
|
||||
function Invoke-WPFControlPanel {
|
||||
<#
|
||||
|
||||
.SYNOPSIS
|
||||
Opens the requested legacy panel
|
||||
|
||||
.PARAMETER Panel
|
||||
The panel to open
|
||||
|
||||
#>
|
||||
param($Panel)
|
||||
|
||||
switch ($Panel) {
|
||||
"WPFPanelControl" {control}
|
||||
"WPFPanelComputer" {compmgmt.msc}
|
||||
"WPFPanelNetwork" {ncpa.cpl}
|
||||
"WPFPanelPower" {powercfg.cpl}
|
||||
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
|
||||
"WPFPanelRegion" {intl.cpl}
|
||||
"WPFPanelRestore" {rstrui.exe}
|
||||
"WPFPanelSound" {mmsys.cpl}
|
||||
"WPFPanelSystem" {sysdm.cpl}
|
||||
"WPFPanelTimedate" {timedate.cpl}
|
||||
"WPFPanelUser" {control userpasswords2}
|
||||
}
|
||||
}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=197}
|
||||
"WPFPanelNetwork": {
|
||||
"Content": "Network Connections",
|
||||
"category": "Legacy Windows Panels",
|
||||
"panel": "2",
|
||||
"Type": "Button",
|
||||
"ButtonWidth": "300",
|
||||
"InvokeScript": [
|
||||
"ncpa.cpl"
|
||||
],
|
||||
```
|
||||
|
||||
@@ -3,31 +3,14 @@ title: "Power Panel"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```powershell {filename="functions/public/Invoke-WPFControlPanel.ps1",linenos=inline,linenostart=1}
|
||||
function Invoke-WPFControlPanel {
|
||||
<#
|
||||
|
||||
.SYNOPSIS
|
||||
Opens the requested legacy panel
|
||||
|
||||
.PARAMETER Panel
|
||||
The panel to open
|
||||
|
||||
#>
|
||||
param($Panel)
|
||||
|
||||
switch ($Panel) {
|
||||
"WPFPanelControl" {control}
|
||||
"WPFPanelComputer" {compmgmt.msc}
|
||||
"WPFPanelNetwork" {ncpa.cpl}
|
||||
"WPFPanelPower" {powercfg.cpl}
|
||||
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
|
||||
"WPFPanelRegion" {intl.cpl}
|
||||
"WPFPanelRestore" {rstrui.exe}
|
||||
"WPFPanelSound" {mmsys.cpl}
|
||||
"WPFPanelSystem" {sysdm.cpl}
|
||||
"WPFPanelTimedate" {timedate.cpl}
|
||||
"WPFPanelUser" {control userpasswords2}
|
||||
}
|
||||
}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=208}
|
||||
"WPFPanelPower": {
|
||||
"Content": "Power Panel",
|
||||
"category": "Legacy Windows Panels",
|
||||
"panel": "2",
|
||||
"Type": "Button",
|
||||
"ButtonWidth": "300",
|
||||
"InvokeScript": [
|
||||
"powercfg.cpl"
|
||||
],
|
||||
```
|
||||
|
||||
@@ -3,31 +3,14 @@ title: "Printer Panel"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```powershell {filename="functions/public/Invoke-WPFControlPanel.ps1",linenos=inline,linenostart=1}
|
||||
function Invoke-WPFControlPanel {
|
||||
<#
|
||||
|
||||
.SYNOPSIS
|
||||
Opens the requested legacy panel
|
||||
|
||||
.PARAMETER Panel
|
||||
The panel to open
|
||||
|
||||
#>
|
||||
param($Panel)
|
||||
|
||||
switch ($Panel) {
|
||||
"WPFPanelControl" {control}
|
||||
"WPFPanelComputer" {compmgmt.msc}
|
||||
"WPFPanelNetwork" {ncpa.cpl}
|
||||
"WPFPanelPower" {powercfg.cpl}
|
||||
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
|
||||
"WPFPanelRegion" {intl.cpl}
|
||||
"WPFPanelRestore" {rstrui.exe}
|
||||
"WPFPanelSound" {mmsys.cpl}
|
||||
"WPFPanelSystem" {sysdm.cpl}
|
||||
"WPFPanelTimedate" {timedate.cpl}
|
||||
"WPFPanelUser" {control userpasswords2}
|
||||
}
|
||||
}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=219}
|
||||
"WPFPanelPrinter": {
|
||||
"Content": "Printer Panel",
|
||||
"category": "Legacy Windows Panels",
|
||||
"panel": "2",
|
||||
"Type": "Button",
|
||||
"ButtonWidth": "300",
|
||||
"InvokeScript": [
|
||||
"Start-Process 'shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}'"
|
||||
],
|
||||
```
|
||||
|
||||
@@ -3,31 +3,14 @@ title: "Region"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```powershell {filename="functions/public/Invoke-WPFControlPanel.ps1",linenos=inline,linenostart=1}
|
||||
function Invoke-WPFControlPanel {
|
||||
<#
|
||||
|
||||
.SYNOPSIS
|
||||
Opens the requested legacy panel
|
||||
|
||||
.PARAMETER Panel
|
||||
The panel to open
|
||||
|
||||
#>
|
||||
param($Panel)
|
||||
|
||||
switch ($Panel) {
|
||||
"WPFPanelControl" {control}
|
||||
"WPFPanelComputer" {compmgmt.msc}
|
||||
"WPFPanelNetwork" {ncpa.cpl}
|
||||
"WPFPanelPower" {powercfg.cpl}
|
||||
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
|
||||
"WPFPanelRegion" {intl.cpl}
|
||||
"WPFPanelRestore" {rstrui.exe}
|
||||
"WPFPanelSound" {mmsys.cpl}
|
||||
"WPFPanelSystem" {sysdm.cpl}
|
||||
"WPFPanelTimedate" {timedate.cpl}
|
||||
"WPFPanelUser" {control userpasswords2}
|
||||
}
|
||||
}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=230}
|
||||
"WPFPanelRegion": {
|
||||
"Content": "Region",
|
||||
"category": "Legacy Windows Panels",
|
||||
"panel": "2",
|
||||
"Type": "Button",
|
||||
"ButtonWidth": "300",
|
||||
"InvokeScript": [
|
||||
"intl.cpl"
|
||||
],
|
||||
```
|
||||
|
||||
@@ -3,31 +3,14 @@ title: "Windows Restore"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```powershell {filename="functions/public/Invoke-WPFControlPanel.ps1",linenos=inline,linenostart=1}
|
||||
function Invoke-WPFControlPanel {
|
||||
<#
|
||||
|
||||
.SYNOPSIS
|
||||
Opens the requested legacy panel
|
||||
|
||||
.PARAMETER Panel
|
||||
The panel to open
|
||||
|
||||
#>
|
||||
param($Panel)
|
||||
|
||||
switch ($Panel) {
|
||||
"WPFPanelControl" {control}
|
||||
"WPFPanelComputer" {compmgmt.msc}
|
||||
"WPFPanelNetwork" {ncpa.cpl}
|
||||
"WPFPanelPower" {powercfg.cpl}
|
||||
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
|
||||
"WPFPanelRegion" {intl.cpl}
|
||||
"WPFPanelRestore" {rstrui.exe}
|
||||
"WPFPanelSound" {mmsys.cpl}
|
||||
"WPFPanelSystem" {sysdm.cpl}
|
||||
"WPFPanelTimedate" {timedate.cpl}
|
||||
"WPFPanelUser" {control userpasswords2}
|
||||
}
|
||||
}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=241}
|
||||
"WPFPanelRestore": {
|
||||
"Content": "Windows Restore",
|
||||
"category": "Legacy Windows Panels",
|
||||
"panel": "2",
|
||||
"Type": "Button",
|
||||
"ButtonWidth": "300",
|
||||
"InvokeScript": [
|
||||
"rstrui.exe"
|
||||
],
|
||||
```
|
||||
|
||||
@@ -3,31 +3,14 @@ title: "Sound Settings"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```powershell {filename="functions/public/Invoke-WPFControlPanel.ps1",linenos=inline,linenostart=1}
|
||||
function Invoke-WPFControlPanel {
|
||||
<#
|
||||
|
||||
.SYNOPSIS
|
||||
Opens the requested legacy panel
|
||||
|
||||
.PARAMETER Panel
|
||||
The panel to open
|
||||
|
||||
#>
|
||||
param($Panel)
|
||||
|
||||
switch ($Panel) {
|
||||
"WPFPanelControl" {control}
|
||||
"WPFPanelComputer" {compmgmt.msc}
|
||||
"WPFPanelNetwork" {ncpa.cpl}
|
||||
"WPFPanelPower" {powercfg.cpl}
|
||||
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
|
||||
"WPFPanelRegion" {intl.cpl}
|
||||
"WPFPanelRestore" {rstrui.exe}
|
||||
"WPFPanelSound" {mmsys.cpl}
|
||||
"WPFPanelSystem" {sysdm.cpl}
|
||||
"WPFPanelTimedate" {timedate.cpl}
|
||||
"WPFPanelUser" {control userpasswords2}
|
||||
}
|
||||
}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=252}
|
||||
"WPFPanelSound": {
|
||||
"Content": "Sound Settings",
|
||||
"category": "Legacy Windows Panels",
|
||||
"panel": "2",
|
||||
"Type": "Button",
|
||||
"ButtonWidth": "300",
|
||||
"InvokeScript": [
|
||||
"mmsys.cpl"
|
||||
],
|
||||
```
|
||||
|
||||
@@ -3,31 +3,14 @@ title: "System Properties"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```powershell {filename="functions/public/Invoke-WPFControlPanel.ps1",linenos=inline,linenostart=1}
|
||||
function Invoke-WPFControlPanel {
|
||||
<#
|
||||
|
||||
.SYNOPSIS
|
||||
Opens the requested legacy panel
|
||||
|
||||
.PARAMETER Panel
|
||||
The panel to open
|
||||
|
||||
#>
|
||||
param($Panel)
|
||||
|
||||
switch ($Panel) {
|
||||
"WPFPanelControl" {control}
|
||||
"WPFPanelComputer" {compmgmt.msc}
|
||||
"WPFPanelNetwork" {ncpa.cpl}
|
||||
"WPFPanelPower" {powercfg.cpl}
|
||||
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
|
||||
"WPFPanelRegion" {intl.cpl}
|
||||
"WPFPanelRestore" {rstrui.exe}
|
||||
"WPFPanelSound" {mmsys.cpl}
|
||||
"WPFPanelSystem" {sysdm.cpl}
|
||||
"WPFPanelTimedate" {timedate.cpl}
|
||||
"WPFPanelUser" {control userpasswords2}
|
||||
}
|
||||
}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=263}
|
||||
"WPFPanelSystem": {
|
||||
"Content": "System Properties",
|
||||
"category": "Legacy Windows Panels",
|
||||
"panel": "2",
|
||||
"Type": "Button",
|
||||
"ButtonWidth": "300",
|
||||
"InvokeScript": [
|
||||
"sysdm.cpl"
|
||||
],
|
||||
```
|
||||
|
||||
@@ -3,31 +3,14 @@ title: "Time and Date"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```powershell {filename="functions/public/Invoke-WPFControlPanel.ps1",linenos=inline,linenostart=1}
|
||||
function Invoke-WPFControlPanel {
|
||||
<#
|
||||
|
||||
.SYNOPSIS
|
||||
Opens the requested legacy panel
|
||||
|
||||
.PARAMETER Panel
|
||||
The panel to open
|
||||
|
||||
#>
|
||||
param($Panel)
|
||||
|
||||
switch ($Panel) {
|
||||
"WPFPanelControl" {control}
|
||||
"WPFPanelComputer" {compmgmt.msc}
|
||||
"WPFPanelNetwork" {ncpa.cpl}
|
||||
"WPFPanelPower" {powercfg.cpl}
|
||||
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
|
||||
"WPFPanelRegion" {intl.cpl}
|
||||
"WPFPanelRestore" {rstrui.exe}
|
||||
"WPFPanelSound" {mmsys.cpl}
|
||||
"WPFPanelSystem" {sysdm.cpl}
|
||||
"WPFPanelTimedate" {timedate.cpl}
|
||||
"WPFPanelUser" {control userpasswords2}
|
||||
}
|
||||
}
|
||||
```json {filename="config/feature.json",linenos=inline,linenostart=274}
|
||||
"WPFPanelTimedate": {
|
||||
"Content": "Time and Date",
|
||||
"category": "Legacy Windows Panels",
|
||||
"panel": "2",
|
||||
"Type": "Button",
|
||||
"ButtonWidth": "300",
|
||||
"InvokeScript": [
|
||||
"timedate.cpl"
|
||||
],
|
||||
```
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "Install CTT PowerShell Profile"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```powershell {filename="functions/private/Invoke-WinUtilInstallPSProfile.ps1",linenos=inline,linenostart=1}
|
||||
function Invoke-WinUtilInstallPSProfile {
|
||||
|
||||
if (Test-Path $Profile) {
|
||||
Rename-Item $Profile -NewName ($Profile + '.bak')
|
||||
}
|
||||
|
||||
Start-Process pwsh -ArgumentList '-Command "irm https://github.com/ChrisTitusTech/powershell-profile/raw/main/setup.ps1 | iex"'
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
title: "Uninstall CTT PowerShell Profile"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```powershell {filename="functions/private/Invoke-WinUtilUninstallPSProfile.ps1",linenos=inline,linenostart=1}
|
||||
function Invoke-WinUtilUninstallPSProfile {
|
||||
if (Test-Path ($Profile + '.bak')) {
|
||||
Remove-Item $Profile
|
||||
Rename-Item ($Profile + '.bak') -NewName $Profile
|
||||
}
|
||||
else {
|
||||
Remove-Item $Profile
|
||||
}
|
||||
|
||||
Write-Host "Successfully uninstalled CTT Powershell Profile" -ForegroundColor Green
|
||||
}
|
||||
```
|
||||
24
docs/content/dev/features/Remote-Access/SSHServer.md
Normal file
24
docs/content/dev/features/Remote-Access/SSHServer.md
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
title: "Enable OpenSSH Server"
|
||||
description: ""
|
||||
---
|
||||
|
||||
```powershell {filename="functions/public/Invoke-WPFSSHServer.ps1",linenos=inline,linenostart=1}
|
||||
function Invoke-WPFSSHServer {
|
||||
<#
|
||||
|
||||
.SYNOPSIS
|
||||
Invokes the OpenSSH Server install in a runspace
|
||||
|
||||
#>
|
||||
|
||||
Invoke-WPFRunspace -ScriptBlock {
|
||||
|
||||
Invoke-WinUtilSSHServer
|
||||
|
||||
Write-Host "======================================="
|
||||
Write-Host "-- OpenSSH Server installed! ---"
|
||||
Write-Host "======================================="
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -6,7 +6,7 @@ description: ""
|
||||
```json {filename="config/tweaks.json",linenos=inline,linenostart=2616}
|
||||
"WPFTweaksDisableExplorerAutoDiscovery": {
|
||||
"Content": "Disable Explorer Automatic Folder Discovery",
|
||||
"Description": "Windows Explorer automatically tries to guess the type of the folder based on its contents, slowing down the browsing experience.",
|
||||
"Description": "Windows Explorer automatically tries to guess the type of the folder based on its contents, slowing down the browsing experience. WARNING! Will disable file explorer grouping",
|
||||
"category": "Essential Tweaks",
|
||||
"panel": "1",
|
||||
"InvokeScript": [
|
||||
|
||||
@@ -967,46 +967,3 @@ description: ""
|
||||
}
|
||||
],
|
||||
```
|
||||
#Function
|
||||
```powershell {filename="functions/private/Set-WinUtilService.ps1",linenos=inline,linenostart=1}
|
||||
Function Set-WinUtilService {
|
||||
<#
|
||||
|
||||
.SYNOPSIS
|
||||
Changes the startup type of the given service
|
||||
|
||||
.PARAMETER Name
|
||||
The name of the service to modify
|
||||
|
||||
.PARAMETER StartupType
|
||||
The startup type to set the service to
|
||||
|
||||
.EXAMPLE
|
||||
Set-WinUtilService -Name "HomeGroupListener" -StartupType "Manual"
|
||||
|
||||
#>
|
||||
param (
|
||||
$Name,
|
||||
$StartupType
|
||||
)
|
||||
try {
|
||||
Write-Host "Setting Service $Name to $StartupType"
|
||||
|
||||
# Check if the service exists
|
||||
$service = Get-Service -Name $Name -ErrorAction Stop
|
||||
|
||||
# Service exists, proceed with changing properties -- while handling auto delayed start for PWSH 5
|
||||
if (($PSVersionTable.PSVersion.Major -lt 7) -and ($StartupType -eq "AutomaticDelayedStart")) {
|
||||
sc.exe config $Name start=delayed-auto
|
||||
} else {
|
||||
$service | Set-Service -StartupType $StartupType -ErrorAction Stop
|
||||
}
|
||||
} catch [System.ServiceProcess.ServiceNotFoundException] {
|
||||
Write-Warning "Service $Name was not found"
|
||||
} catch {
|
||||
Write-Warning "Unable to set $Name due to unhandled exception"
|
||||
Write-Warning $_.Exception.Message
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
@@ -6,7 +6,7 @@ description: ""
|
||||
```json {filename="config/tweaks.json",linenos=inline,linenostart=1908}
|
||||
"WPFTweaksRazerBlock": {
|
||||
"Content": "Block Razer Software Installs",
|
||||
"Description": "Blocks ALL Razer Software installations. The hardware works fine without any software. WARNING: this will also block all Windows third-party driver installations.",
|
||||
"Description": "Blocks ALL Razer Software installations. The hardware works fine without any software.",
|
||||
"category": "z__Advanced Tweaks - CAUTION",
|
||||
"panel": "1",
|
||||
"registry": [
|
||||
|
||||
Reference in New Issue
Block a user