# 03-StartMenu.ps1 — Create Start Menu shortcuts for all users (baseline) # Shortcuts in ProgramData\Microsoft\Windows\Start Menu\Programs\ persist for all accounts. # --- Remove all default pinned Start Menu tiles --- # Unpin tiles for the current user try { $shell = New-Object -ComObject Shell.Application $shell.NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ForEach-Object { $_.Verbs() | Where-Object { $_.Name -match 'Unpin from Start|Un.*pin' } | ForEach-Object { $_.DoIt() } } Write-Host "Unpinned all default Start Menu tiles for current user." } catch { Write-Warning "Could not unpin Start tiles: $_" } # Set blank layout for future user profiles $blankLayout = @" "@ $layoutDir = "C:\Users\Default\AppData\Local\Microsoft\Windows\Shell" if (-not (Test-Path $layoutDir)) { New-Item -Path $layoutDir -ItemType Directory -Force | Out-Null } $blankLayout | Out-File -FilePath "$layoutDir\LayoutModification.xml" -Encoding UTF8 -Force Write-Host "Set blank Start Menu layout for future users." $startMenu = "C:\ProgramData\Microsoft\Windows\Start Menu\Programs" $shell = New-Object -ComObject WScript.Shell # --- Defect Tracker --- $lnk = $shell.CreateShortcut("$startMenu\Defect Tracker.lnk") $lnk.TargetPath = "S:\DT\Defect_Tracker\Defect_Tracker.application" $lnk.Save() Write-Host "Created Start Menu shortcut: Defect Tracker" # --- Plant Applications (Edge) --- $lnk = $shell.CreateShortcut("$startMenu\Plant Applications.lnk") $lnk.TargetPath = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" $lnk.Arguments = "https://mes-wjefferson.apps.lr.geaerospace.net/run/?app_name=Plant%20Applications" $lnk.Save() Write-Host "Created Start Menu shortcut: Plant Applications" # --- ShopDB --- $lnk = $shell.CreateShortcut("$startMenu\ShopDB.lnk") $lnk.TargetPath = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" $lnk.Arguments = "http://tsgwp00524.logon.ds.ge.com" $lnk.Save() Write-Host "Created Start Menu shortcut: ShopDB" # --- Shopfloor Dashboard --- $lnk = $shell.CreateShortcut("$startMenu\Shopfloor Dashboard.lnk") $lnk.TargetPath = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" $lnk.Arguments = "https://tsgwp00525.wjs.geaerospace.net/shopdb/shopfloor-dashboard/" $lnk.Save() Write-Host "Created Start Menu shortcut: Shopfloor Dashboard" # --- ShopDB (GEA) --- $lnk = $shell.CreateShortcut("$startMenu\ShopDB (GEA).lnk") $lnk.TargetPath = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" $lnk.Arguments = "https://tsgwp00525.wjs.geaerospace.net/shopdb/" $lnk.Save() Write-Host "Created Start Menu shortcut: ShopDB (GEA)" # --- Add more shortcuts below --- # $lnk = $shell.CreateShortcut("$startMenu\AppName.lnk") # $lnk.TargetPath = "C:\Path\To\App.exe" # $lnk.Save() Write-Host "Start Menu shortcuts complete."