SetUpBasic.Install.ps1
function Private-IsAdmin { [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseApprovedVerbs", "")] [OutputType([bool])] param() $currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()) $IsAdmin = $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) return $IsAdmin } function Private-IsNotAdminWarning { [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseApprovedVerbs", "")] [OutputType([bool])] param() $IsAdmin = Private-IsAdmin if ($IsAdmin -eq $false) { Write-Error "This command can only be executed with elevated administrator rights." } return $IsAdmin } function Private-Install-SubWeeklyDefrag { [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseApprovedVerbs", "")] param() New-SubTemplateFullScriptFile -FileName "Defrag.cmd" -Location "C:\SetUpBasic\TaskScheduler" New-SubTask -Name "SetUpBasic Weekly Defrag" -Program "C:\SetUpBasic\TaskScheduler\Defrag.cmd" -Time (New-TimeSpan -Hours 4 -Minutes 30) -day ("Sunday") -LogonUserType SYSTEM -ScheduleType TIME } function Private-Install-SubDailyReboot { [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseApprovedVerbs", "")] param() New-SubTemplateFullScriptFile -FileName "Reboot.ps1" -Location "C:\SetUpBasic\TaskScheduler" New-SubTask -Name "SetUpBasic Daily Reboot" -Program "C:\SetUpBasic\TaskScheduler\Reboot.ps1" -Time (New-TimeSpan -Hours 4) -LogonUserType SYSTEM -ScheduleType TIME } function Private-Install-SubDailyWindowsUpdate { [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseApprovedVerbs", "")] param() New-SubTemplateFullScriptFile -FileName "WindowsUpdates.ps1" -Location "C:\SetUpBasic\TaskScheduler" New-SubTask -Name "SetUpBasic Daily Windows Updates" -Program "C:\SetUpBasic\TaskScheduler\WindowsUpdates.ps1" -Time (New-TimeSpan -Hours 3 -Minutes 30) -LogonUserType SYSTEM -ScheduleType TIME } function Private-Install-SubDailyModuleUpdate { [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseApprovedVerbs", "")] param() New-SubTemplateFullScriptFile -FileName "UpdateModules.ps1" -Location "C:\SetUpBasic\TaskScheduler" New-SubTask -Name "SetUpBasic Daily Modul Updates" -Program "C:\SetUpBasic\TaskScheduler\UpdateModules.ps1" -Time (New-TimeSpan -Hours 3 -Minutes 20) -LogonUserType SYSTEM -ScheduleType TIME } |