From b76e612f3542b2fd0b68909da433e51da5b130be Mon Sep 17 00:00:00 2001 From: Lightemerald Date: Mon, 23 Oct 2023 16:33:08 +0000 Subject: [PATCH] Fix scripts --- setupScriptInfo.ps1 | 34 +++++++++++++++------------------- setupScriptLabo.ps1 | 22 ++++++++++------------ setupScriptLaboOld.ps1 | 14 ++++++-------- 3 files changed, 31 insertions(+), 39 deletions(-) diff --git a/setupScriptInfo.ps1 b/setupScriptInfo.ps1 index 8e715d9..0824628 100644 --- a/setupScriptInfo.ps1 +++ b/setupScriptInfo.ps1 @@ -29,11 +29,7 @@ foreach ($fileInfo in $filesToDownload) { } # Install Office -function Check-OfficeInstall { - param ( - [string] $version = "Office365" # Specify the Office version (e.g., "Office365" or "2019") - ) - +function CheckOfficeInstall { $officeRegistryPath = "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun" if (Test-Path -Path $officeRegistryPath) { $installedPath = Get-ItemProperty -Path $officeRegistryPath | Select-Object -ExpandProperty "InstallPath" @@ -57,13 +53,14 @@ function Check-OfficeInstall { Start-Process -FilePath $(Join-Path $driveLetter '\Office\Setup64.exe') -Wait } } +CheckOfficeInstall # Activate windows/office -irm https://massgrave.dev/get | iex +Invoke-RestMethod https://massgrave.dev/get | Invoke-Expression # Setup users $username = "Eleve" -if ($(Get-LocalUser -Name $username -ErrorAction SilentlyContinue) -eq $null) { +if ($null -eq $(Get-LocalUser -Name $username -ErrorAction SilentlyContinue)) { Write-Host "User $username doesn't exist. Creating the user..." New-LocalUser -Name $username -Description "New User Account" -NoPassword -UserMayNotChangePassword Add-LocalGroupMember -Group Users -Member $username @@ -73,7 +70,7 @@ if ($(Get-LocalUser -Name $username -ErrorAction SilentlyContinue) -eq $null) { } $username = "Prof" $SecurePassword = ConvertTo-SecureString -String "IPRprof2398" -AsPlainText -Force -if ($(Get-LocalUser -Name $username -ErrorAction SilentlyContinue) -eq $null) { +if ($null -eq $(Get-LocalUser -Name $username -ErrorAction SilentlyContinue)) { Write-Host "User $username doesn't exist. Creating the user..." New-LocalUser -Name $username -Description "New User Account" -Password $SecurePassword -PasswordNeverExpires -UserMayNotChangePassword Add-LocalGroupMember -Group Users -Member $username @@ -83,7 +80,7 @@ if ($(Get-LocalUser -Name $username -ErrorAction SilentlyContinue) -eq $null) { } $username = "Admin" $SecurePassword = ConvertTo-SecureString -String "Lprsnm4ehk26-" -AsPlainText -Force -if ($(Get-LocalUser -Name $username -ErrorAction SilentlyContinue) -eq $null) { +if ($null -eq $(Get-LocalUser -Name $username -ErrorAction SilentlyContinue)) { Write-Host "User $username doesn't exist. Creating the user..." New-LocalUser -Name $username -Description "New User Account" -Password $SecurePassword -PasswordNeverExpires -UserMayNotChangePassword Add-LocalGroupMember -Group Administrators -Member $username @@ -100,7 +97,7 @@ function UserReg { ) $UserProfiles = Get-WmiObject Win32_UserProfile | Where-Object { $_.Special -eq $false } $UserProfile = $UserProfiles | Where-Object { $_.LocalPath.EndsWith("\$Username") } - if ($UserProfile -ne $null) { + if ($null -ne $UserProfile) { $UserSID = $UserProfile.SID if( -not (Test-Path -Path "Registry::HKEY_USERS\$UserSID" -PathType Container) ) { REG LOAD HKEY_USERS\$UserSID "C:\Users\$Username\NTUSER.DAT" @@ -134,7 +131,7 @@ function SetRegistry { $UserSID, $UserHKUPath = UserReg -Username "Eleve" # Add restriction -if ($UserSID -ne $null -and $UserHKUPath -ne $null) { +if ($null -ne $UserSID -and $null -ne $UserHKUPath) { # Restrict access to Settings $ControlPanelKeyPath = "$UserHKUPath\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" $ControlPanelValueName = "NoControlPanel" @@ -157,7 +154,7 @@ if ($UserSID -ne $null -and $UserHKUPath -ne $null) { if (-not (Test-Path -Path "Registry::$DisallowRunPath" -PathType Container)) { New-Item -Path $DisallowRunPath -Force } - Set-ItemProperty -Path "$UserHKUPath\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" -Name "DisallowRun" -Value 1 + Set-ItemProperty -Path $DisallowRunKeyPath -Name $DisallowRunValueName -Value 1 $applications = @("cmd.exe", "powershell.exe", "powershell_ise.exe") Get-ItemProperty -Path $DisallowRunPath | ForEach-Object { Remove-ItemProperty -Path $DisallowRunPath -Name $_.PSObject.Properties.Name -ErrorAction SilentlyContinue @@ -202,7 +199,6 @@ function InstallExe { if (-not (Test-Path -Path $targetPath -PathType Container)) { New-Item -Path $targetPath -ItemType Directory } - $appFilePath = Join-Path $tmpPath $app Copy-Item -Path (Join-Path $tmpPath $app) -Destination $targetPath -Force createShortcut -exe (Join-Path $targetPath $app) -app $appName } @@ -247,7 +243,7 @@ function createShortcut { } #Install Choco -Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) +Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) # Installing needed apps choco upgrade all -y @@ -271,7 +267,7 @@ InstallMsi -app "EV3_Classroom_Windows_1.5.3_Global.msi" InstallZip -zip "RobotProg.zip" -exe "RobotProg.exe" -app "RobotProg" # URL shortcut -function Create-DesktopShortcut { +function New-DesktopShortcut { param ( [string] $ShortcutName, [string] $TargetUrl @@ -285,10 +281,10 @@ function Create-DesktopShortcut { $urlShortcut.Save() } -Create-DesktopShortcut -ShortcutName "Office 365" -TargetUrl "https://office.com/" -Create-DesktopShortcut -ShortcutName "Ecole Direct" -TargetUrl "https://ecoledirecte.com/" -Create-DesktopShortcut -ShortcutName "PIX" -TargetUrl "https://pix.fr/" -Create-DesktopShortcut -ShortcutName "Framindmap" -TargetUrl "https://framindmap.org/" +New-DesktopShortcut -ShortcutName "Office 365" -TargetUrl "https://office.com/" +New-DesktopShortcut -ShortcutName "Ecole Direct" -TargetUrl "https://ecoledirecte.com/" +New-DesktopShortcut -ShortcutName "PIX" -TargetUrl "https://pix.fr/" +New-DesktopShortcut -ShortcutName "Framindmap" -TargetUrl "https://framindmap.org/" # Update Windows diff --git a/setupScriptLabo.ps1 b/setupScriptLabo.ps1 index ee6008c..7ccc7fd 100644 --- a/setupScriptLabo.ps1 +++ b/setupScriptLabo.ps1 @@ -1,5 +1,5 @@ # Activate windows -irm https://massgrave.dev/get | iex +Invoke-RestMethod https://massgrave.dev/get | Invoke-Expression #Download temp files $tmpPath = Join-Path $env:LOCALAPPDATA "Temp" @@ -67,7 +67,7 @@ foreach ($fileInfo in $filesToDownload) { } } -Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) +Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) # Setup users Set-LocalUser -Name "Eleve" -PasswordNeverExpires $true -UserMayChangePassword $false -Password ([securestring]::new()) @@ -84,9 +84,8 @@ function UserReg { ) $UserProfiles = Get-WmiObject Win32_UserProfile | Where-Object { $_.Special -eq $false } $UserProfile = $UserProfiles | Where-Object { $_.LocalPath.EndsWith("\$Username") } - if ($UserProfile -ne $null) { + if ($null -ne $UserProfile) { $UserSID = $UserProfile.SID - $HivePath = Join-Path -Path $UserProfile.LocalPath -ChildPath "NTUSER.DAT" return $UserSID, "Registry::HKEY_USERS\$UserSID" } else { Write-Host "User profile for $Username not found." @@ -117,7 +116,7 @@ function SetRegistry { $TargetUsername = "Eleve" $UserSID, $UserHKUPath = UserReg -Username $TargetUsername # Add restriction -if ($UserSID -ne $null -and $UserHKUPath -ne $null) { +if ($null -ne $UserSID -and $null -ne $UserHKUPath) { # Restrict access to Settings $ControlPanelKeyPath = "$UserHKUPath\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" $ControlPanelValueName = "NoControlPanel" @@ -177,15 +176,14 @@ function InstallExe { if (-not (Test-Path -Path $targetPath -PathType Container)) { New-Item -Path $targetPath -ItemType Directory } - $appFilePath = Join-Path $tmpPath $app Copy-Item -Path (Join-Path $tmpPath $app) -Destination $targetPath -Force createShortcut -exe (Join-Path $targetPath $app) -app $appName } function InstallZipSetup { param ( - [string] $zip - [string] $exe, + [string] $zip, + [string] $exe ) $zipName = [System.IO.Path]::GetFileNameWithoutExtension($zip) Expand-Archive -Path (Join-Path $tmpPath $zip) -DestinationPath $tmpPath -Force @@ -194,9 +192,9 @@ function InstallZipSetup { function InstallZip { param ( - [string] $zip + [string] $zip, [string] $exe, - [string] $app, + [string] $app ) $zipName = [System.IO.Path]::GetFileNameWithoutExtension($zip) @@ -207,8 +205,8 @@ function InstallZip { function createShortcut { param ( - [string] $exe - [string] $app, + [string] $exe, + [string] $app ) $shell = New-Object -ComObject WScript.Shell $shortcut = $shell.CreateShortcut($(Join-Path $env:PUBLIC "Desktop\$app.lnk")) diff --git a/setupScriptLaboOld.ps1 b/setupScriptLaboOld.ps1 index 2c75d51..a48d15b 100755 --- a/setupScriptLaboOld.ps1 +++ b/setupScriptLaboOld.ps1 @@ -1,4 +1,4 @@ -Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) +Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) # remove bloatware $apps = @( "Microsoft.549981C3F5F10" @@ -204,9 +204,9 @@ Set-LocalUser -Name "Prof" -PasswordNeverExpires $true -UserMayChangePassword $f $SecurePassword = ConvertTo-SecureString -String "Lprsnm4ehk26-" -AsPlainText -Force Set-LocalUser -Name "Admin" -PasswordNeverExpires $true -Password $SecurePassword -cd D:\Setup\Labo -cd E:\Setup\Labo -cd F:\Setup\Labo +Set-Location D:\Setup\Labo +Set-Location E:\Setup\Labo +Set-Location F:\Setup\Labo Copy-Item -Path .\Software\* -Destination "C:\Program Files\" -Recurse Copy-Item -Path .\Shortcut\* -Destination "C:\Users\Public\Desktop\" -Recurse icacls "C:\Users\Public" /grant:r "Eleve:(OI)(CI)(R)" @@ -225,11 +225,9 @@ function UserReg { $UserProfile = $UserProfiles | Where-Object { $_.LocalPath.EndsWith("\$Username") } # Check if the user profile exists - if ($UserProfile -ne $null) { + if ($null -ne $UserProfile) { # Construct the path to the user's NTUSER.DAT file (registry hive) $UserSID = $UserProfile.SID - $HivePath = Join-Path -Path $UserProfile.LocalPath -ChildPath "NTUSER.DAT" - # Return the user's SID and HKU registry key return $UserSID, "Registry::HKEY_USERS\$UserSID" } else { @@ -241,7 +239,7 @@ function UserReg { $TargetUsername = "Eleve" $UserSID, $UserHKUPath = UserReg -Username $TargetUsername -if ($UserSID -ne $null -and $UserHKUPath -ne $null) { +if ($null -ne $UserSID -and $null -ne $UserHKUPath) { # Restrict access to Settings $ControlPanelKeyPath = "$UserHKUPath\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" $ControlPanelValueName = "NoControlPanel"