Add powershell/light-onboarding.ps1
This commit is contained in:
parent
adce5827aa
commit
c761c2dfb8
1 changed files with 116 additions and 0 deletions
116
powershell/light-onboarding.ps1
Normal file
116
powershell/light-onboarding.ps1
Normal file
|
@ -0,0 +1,116 @@
|
|||
#Start WinRM Service
|
||||
Start-Service WinRM -verbose
|
||||
|
||||
#Enable System restore
|
||||
Enable-ComputerRestore -Drive "C:\" -confirm:$false
|
||||
`
|
||||
|
||||
#Enable SMB and ICMP on Windows Firewall
|
||||
Write-host 'Enable SMB and ICMP on Windows Firewall' -ForegroundColor yellow
|
||||
Set-NetFirewallRule -DisplayName "File and Printer Sharing (Echo Request - ICMPv4-In)" -Enabled True
|
||||
Set-NetFirewallRule -DisplayName "File and Printer Sharing (Echo Request - ICMPv4-Out)" -Enabled True
|
||||
Set-NetFirewallRule -DisplayName "File and Printer Sharing (SMB-In)" -Enabled True
|
||||
Set-NetFirewallRule -DisplayName "File and Printer Sharing (SMB-Out)" -Enabled True
|
||||
|
||||
|
||||
`
|
||||
New-Item -ItemType directory -Path C:\support -ErrorAction SilentlyContinue
|
||||
New-Item -ItemType directory -Path C:\support\software -ErrorAction SilentlyContinue
|
||||
New-Item -ItemType directory -Path C:\support\software\AnyDesk -ErrorAction SilentlyContinue
|
||||
|
||||
|
||||
#Enable Unzip Function - updated below
|
||||
#Add-Type -AssemblyName System.IO.Compression.FileSystem -ErrorAction -SilentlyContinue
|
||||
#function unzip {
|
||||
# param( [string]$ziparchive, [string]$extractpath )
|
||||
# [System.IO.Compression.ZipFile]::ExtractToDirectory ( $ziparchive, $extractpath)
|
||||
#}
|
||||
|
||||
|
||||
|
||||
# Enable Unzip Function
|
||||
Add-Type -AssemblyName System.IO.Compression.FileSystem -ErrorAction SilentlyContinue
|
||||
|
||||
function unzip {
|
||||
param (
|
||||
[string]$ziparchive, # The path to the zip archive
|
||||
[string]$extractpath # The path where the contents will be extracted
|
||||
)
|
||||
|
||||
if (-not (Test-Path $ziparchive)) {
|
||||
Write-Error "The specified zip archive does not exist: $ziparchive"
|
||||
return
|
||||
}
|
||||
|
||||
if (-not (Test-Path $extractpath -PathType Container)) {
|
||||
New-Item -ItemType Directory -Path $extractpath | Out-Null
|
||||
}
|
||||
|
||||
try {
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory($ziparchive, $extractpath)
|
||||
Write-Output "Extraction completed successfully."
|
||||
} catch {
|
||||
Write-Error "An error occurred during extraction: $_"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#Disable Windows 10 Fast startup
|
||||
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power" -Name HiberbootEnabled -Value 0
|
||||
#Set Power Plan to High Performance
|
||||
powercfg.exe -SETACTIVE 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
|
||||
powercfg -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 3
|
||||
powercfg -change -standby-timeout-ac 0
|
||||
powercfg -change -hibernate-timeout-ac 0
|
||||
|
||||
|
||||
# Disable display and sleep mode timeouts
|
||||
Function DisableSleepTimeout {
|
||||
Write-Output "Disabling sleep mode timeouts for AC..."
|
||||
powercfg /X standby-timeout-ac 0
|
||||
powercfg -change hibernate-timeout-ac 0
|
||||
}
|
||||
# Hide Taskbar People icon
|
||||
Function HideTaskbarPeopleIcon {
|
||||
Write-Output "Hiding People icon..."
|
||||
If (!(Test-Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People")) {
|
||||
New-Item -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People" | Out-Null
|
||||
}
|
||||
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People" -Name "PeopleBand" -Type DWord -Value 0
|
||||
}
|
||||
|
||||
# Enable NumLock after startup
|
||||
Function EnableNumlock {
|
||||
Write-Output "Enabling NumLock after startup..."
|
||||
If (!(Test-Path "HKU:")) {
|
||||
New-PSDrive -Name HKU -PSProvider Registry -Root HKEY_USERS | Out-Null
|
||||
}
|
||||
Set-ItemProperty -Path "HKU:\.DEFAULT\Control Panel\Keyboard" -Name "InitialKeyboardIndicators" -Type DWord -Value 2147483650
|
||||
Add-Type -AssemblyName System.Windows.Forms
|
||||
If (!([System.Windows.Forms.Control]::IsKeyLocked('NumLock'))) {
|
||||
$wsh = New-Object -ComObject WScript.Shell
|
||||
$wsh.SendKeys('{NUMLOCK}')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
##################
|
||||
# .Net Framework 3.5
|
||||
##################
|
||||
#oldversionEnable-WindowsOptionalFeature -Online -FeatureName "NetFx3"
|
||||
|
||||
dism /online /cleanup-image /scanhealth
|
||||
dism /online /cleanup-image /restorehealth
|
||||
|
||||
####################################################
|
||||
# Install Office 2016 - Office 365 Business Premium
|
||||
####################################################
|
||||
$office = $apps | where-object {$_.displayname -like "*Office 16 Click-to-Run*"}
|
||||
if($null -eq $office){
|
||||
Invoke-RestMethod 'https://biztechsynergy.com.au/software/O365_BP_x64.zip' -Method 'GET' -OutFile "c:\support\software\O365_BP_x64.zip"
|
||||
unzip "c:\support\software\O365_BP_x64.zip" "c:\support\software\office"
|
||||
C:\support\software\office\setup.exe /configure 'C:\support\software\office\configuration.xml'
|
||||
}
|
Loading…
Reference in a new issue