- AutoLogonCount reduced from 2 to 1 in Run-ShopfloorSetup.ps1 - Remove default pinned Start Menu tiles and set blank layout for future users - Add sync_intune.bat: triggers MDM sync and polls for SFLD group policies - Update README.md and SETUP.md with current project state (boot chain, new scripts, samba shares, webapp pages, commit history) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
77 lines
3.4 KiB
PowerShell
77 lines
3.4 KiB
PowerShell
# 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 = @"
|
|
<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"
|
|
xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"
|
|
Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
|
|
<LayoutOptions StartTileGroupCellWidth="6" />
|
|
<DefaultLayoutOverride>
|
|
<StartLayoutCollection>
|
|
<defaultlayout:StartLayout GroupCellWidth="6" />
|
|
</StartLayoutCollection>
|
|
</DefaultLayoutOverride>
|
|
</LayoutModificationTemplate>
|
|
"@
|
|
$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."
|