Initial Commit
This commit is contained in:
112
onboard.ps1
Normal file
112
onboard.ps1
Normal file
@@ -0,0 +1,112 @@
|
||||
# Check if the script is running as administrator
|
||||
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
|
||||
# If not running as administrator, attempt to restart with elevation
|
||||
Write-Host "This script needs to run with Administrator privileges. Please Run again"
|
||||
Exit
|
||||
}
|
||||
|
||||
function Install-Updates {
|
||||
Install-Module PSWindowsUpdate
|
||||
Import-Module PSWindowsUpdate
|
||||
Get-WindowsUpdate
|
||||
Install-WindowsUpdate
|
||||
}
|
||||
|
||||
function Install-ScreenBox {
|
||||
Write-Host "Installing ScreenBox"
|
||||
winget install 9NTSNMSVCB5L
|
||||
}
|
||||
|
||||
function Install-Qview {
|
||||
Write-Host "Installing qView"
|
||||
winget install jurplel.qView
|
||||
}
|
||||
|
||||
function Install-OnlyOffice {
|
||||
Write-Host "Installing OnlyOffice"
|
||||
winget install ONLYOFFICE.DesktopEditors
|
||||
}
|
||||
|
||||
function Install-Thunderbird {
|
||||
Write-Host "Installing Thunderbird"
|
||||
winget install Mozilla.Thunderbird
|
||||
}
|
||||
|
||||
function Install-Software {
|
||||
Install-ScreenBox
|
||||
Install-Qview
|
||||
Install-OnlyOffice
|
||||
Install-Thunderbird
|
||||
}
|
||||
|
||||
function Install-Software-NoOffice {
|
||||
Install-ScreenBox
|
||||
Install-Qview
|
||||
}
|
||||
|
||||
function Show-InteractiveMenu {
|
||||
param (
|
||||
[string]$Title = "Main Menu",
|
||||
[array]$Options
|
||||
)
|
||||
|
||||
Clear-Host
|
||||
Write-Host "================ $Title ================"
|
||||
|
||||
for ($i = 0; $i -lt $Options.Count; $i++) {
|
||||
Write-Host "$($i + 1): $($Options[$i])"
|
||||
}
|
||||
Write-Host "Q: Quit"
|
||||
Write-Host "========================================"
|
||||
}
|
||||
|
||||
$menuOptions = @(
|
||||
"Run All",
|
||||
"Run All (No OnlyOffice or Thunderbird)"
|
||||
"Windows Updates",
|
||||
"Install Software",
|
||||
"Install Software (No OnlyOffice or Thunderbird)"
|
||||
)
|
||||
|
||||
do {
|
||||
Show-InteractiveMenu -Title "Onboarding Script" -Options $menuOptions
|
||||
$choice = Read-Host "Enter your choice (1- $($menuOptions.Count), or Q to quit)"
|
||||
|
||||
switch ($choice) {
|
||||
"1" {
|
||||
Install-Updates
|
||||
Install-Software
|
||||
Write-Head "All Done!"
|
||||
Pause
|
||||
}
|
||||
"2" {
|
||||
Install-Updates
|
||||
Install-Software-NoOffice
|
||||
Pause
|
||||
}
|
||||
"3" {
|
||||
Install-Updates
|
||||
Pause
|
||||
}
|
||||
"4" {
|
||||
Install-Software
|
||||
Pause
|
||||
}
|
||||
"5" {
|
||||
Install-Software-NoOffice
|
||||
Pause
|
||||
}
|
||||
"q" {
|
||||
Write-Host "Exiting menu."
|
||||
break
|
||||
}
|
||||
"Q" {
|
||||
Write-Host "Exiting menu."
|
||||
break
|
||||
}
|
||||
default {
|
||||
Write-Host "Invalid choice. Please try again." -ForegroundColor Red
|
||||
Pause
|
||||
}
|
||||
}
|
||||
} while ($choice -ne "q" -and $choice -ne "Q")
|
||||
Reference in New Issue
Block a user