commit
070c3ab98d
|
@ -22,6 +22,21 @@ $Script:SessionID = [System.Diagnostics.Process]::GetCurrentProcess().SessionId
|
||||||
|
|
||||||
#Check if running as system
|
#Check if running as system
|
||||||
if ($IsSystem) {
|
if ($IsSystem) {
|
||||||
|
#If log file doesn't exist, force create it
|
||||||
|
if (!(Test-Path -Path $LogFile)) {
|
||||||
|
New-Item -Path $LogFile -ItemType File -Force | Out-Null
|
||||||
|
}
|
||||||
|
# Check if Intune Management Extension Logs folder exists
|
||||||
|
if ((Test-Path -Path "${env:ProgramData}\Microsoft\IntuneManagementExtension\Logs" -ErrorAction SilentlyContinue)) {
|
||||||
|
# Check if symlink WAU-updates.log exists, make symlink (doesn't work under ServiceUI)
|
||||||
|
if (!(Test-Path -Path "${env:ProgramData}\Microsoft\IntuneManagementExtension\Logs\WAU-updates.log" -ErrorAction SilentlyContinue)) {
|
||||||
|
$symLink = New-Item -Path "${env:ProgramData}\Microsoft\IntuneManagementExtension\Logs\WAU-updates.log" -ItemType SymbolicLink -Value $LogFile -Force -ErrorAction SilentlyContinue
|
||||||
|
}
|
||||||
|
# Check if install.log and symlink WAU-install.log exists, make symlink (doesn't work under ServiceUI)
|
||||||
|
if ((Test-Path -Path ('{0}\logs\install.log' -f $WorkingDir) -ErrorAction SilentlyContinue) -and !(Test-Path -Path "${env:ProgramData}\Microsoft\IntuneManagementExtension\Logs\WAU-install.log" -ErrorAction SilentlyContinue)) {
|
||||||
|
$symLink = (New-Item -Path "${env:ProgramData}\Microsoft\IntuneManagementExtension\Logs\WAU-install.log" -ItemType SymbolicLink -Value ('{0}\logs\install.log' -f $WorkingDir) -Force -Confirm:$False -ErrorAction SilentlyContinue)
|
||||||
|
}
|
||||||
|
}
|
||||||
#Check if running with session ID 0
|
#Check if running with session ID 0
|
||||||
if ($SessionID -eq 0) {
|
if ($SessionID -eq 0) {
|
||||||
#Check if ServiceUI exists
|
#Check if ServiceUI exists
|
||||||
|
@ -30,20 +45,33 @@ if ($IsSystem) {
|
||||||
#Check if any connected user
|
#Check if any connected user
|
||||||
$explorerprocesses = @(Get-CimInstance -Query "SELECT * FROM Win32_Process WHERE Name='explorer.exe'" -ErrorAction SilentlyContinue)
|
$explorerprocesses = @(Get-CimInstance -Query "SELECT * FROM Win32_Process WHERE Name='explorer.exe'" -ErrorAction SilentlyContinue)
|
||||||
if ($explorerprocesses.Count -gt 0) {
|
if ($explorerprocesses.Count -gt 0) {
|
||||||
|
if ($symLink) {
|
||||||
|
$null = (New-Item "$WorkingDir\logs\symlink.txt" -Value $symLink -Force)
|
||||||
|
}
|
||||||
#Rerun WAU in system context with ServiceUI
|
#Rerun WAU in system context with ServiceUI
|
||||||
& $WorkingDir\ServiceUI.exe -process:explorer.exe $env:windir\System32\wscript.exe \`"$WorkingDir\Invisible.vbs\`" \`"powershell.exe -NoProfile -ExecutionPolicy Bypass -File \`"\`"$WorkingDir\winget-upgrade.ps1\`"\`"\`"
|
& $WorkingDir\ServiceUI.exe -process:explorer.exe $env:windir\System32\wscript.exe \`"$WorkingDir\Invisible.vbs\`" \`"powershell.exe -NoProfile -ExecutionPolicy Bypass -File \`"\`"$WorkingDir\winget-upgrade.ps1\`"\`"\`"
|
||||||
Exit 0
|
Exit 0
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Write-ToLog -LogMsg "CHECK FOR APP UPDATES (System context)" -IsHeader
|
Write-ToLog -LogMsg "CHECK FOR APP UPDATES (System context)" -IsHeader
|
||||||
|
if ($symLink) {
|
||||||
|
Write-ToLog "SymLink for log file created in Intune Management Extension log folder"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Write-ToLog -LogMsg "CHECK FOR APP UPDATES (System context - No ServiceUI)" -IsHeader
|
Write-ToLog -LogMsg "CHECK FOR APP UPDATES (System context - No ServiceUI)" -IsHeader
|
||||||
|
if ($symLink) {
|
||||||
|
Write-ToLog "SymLink for log file created in Intune Management Extension log folder"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Write-ToLog -LogMsg "CHECK FOR APP UPDATES (System context - Connected user)" -IsHeader
|
Write-ToLog -LogMsg "CHECK FOR APP UPDATES (System context - Connected user)" -IsHeader
|
||||||
|
if (Test-Path "$WorkingDir\logs\symlink.txt") {
|
||||||
|
Write-ToLog "SymLink for log file created in Intune Management Extension log folder"
|
||||||
|
Remove-Item "$WorkingDir\logs\symlink.txt" -Force
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -346,13 +374,6 @@ if (Test-Network) {
|
||||||
#Check if user context is activated during system run
|
#Check if user context is activated during system run
|
||||||
if ($IsSystem) {
|
if ($IsSystem) {
|
||||||
|
|
||||||
#Adds SymLink if Intune managed
|
|
||||||
$IntuneLogPath = "${env:ProgramData}\Microsoft\IntuneManagementExtension\Logs"
|
|
||||||
if ((Test-Path "$IntuneLogPath") -and !(Test-Path "$IntuneLogPath\WAU-updates.log")) {
|
|
||||||
Write-ToLog "Creating SymLink for log file (WAU-updates) in Intune Management Extension log folder" "Yellow"
|
|
||||||
New-Item -Path "$IntuneLogPath\WAU-updates.log" -ItemType SymbolicLink -Value $LogFile -Force -ErrorAction SilentlyContinue | Out-Null
|
|
||||||
}
|
|
||||||
|
|
||||||
#Run WAU in user context if feature is activated
|
#Run WAU in user context if feature is activated
|
||||||
if ($WAUConfig.WAU_UserContext -eq 1) {
|
if ($WAUConfig.WAU_UserContext -eq 1) {
|
||||||
|
|
||||||
|
|
|
@ -5,18 +5,6 @@ function Invoke-PostUpdateActions {
|
||||||
#log
|
#log
|
||||||
Write-ToLog "Running Post Update actions:" "yellow"
|
Write-ToLog "Running Post Update actions:" "yellow"
|
||||||
|
|
||||||
# Check if Intune Management Extension Logs folder and WAU-updates.log exists, make symlink
|
|
||||||
if ((Test-Path -Path "${env:ProgramData}\Microsoft\IntuneManagementExtension\Logs" -ErrorAction SilentlyContinue) -and !(Test-Path -Path "${env:ProgramData}\Microsoft\IntuneManagementExtension\Logs\WAU-updates.log" -ErrorAction SilentlyContinue)) {
|
|
||||||
Write-ToLog "-> Creating SymLink for log file (WAU-updates) in Intune Management Extension log folder" "yellow"
|
|
||||||
$null = New-Item -Path "${env:ProgramData}\Microsoft\IntuneManagementExtension\Logs\WAU-updates.log" -ItemType SymbolicLink -Value $LogFile -Force -ErrorAction SilentlyContinue
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check if Intune Management Extension Logs folder and WAU-install.log exists, make symlink
|
|
||||||
if ((Test-Path -Path "${env:ProgramData}\Microsoft\IntuneManagementExtension\Logs" -ErrorAction SilentlyContinue) -and (Test-Path -Path ('{0}\logs\install.log' -f $WorkingDir) -ErrorAction SilentlyContinue) -and !(Test-Path -Path "${env:ProgramData}\Microsoft\IntuneManagementExtension\Logs\WAU-install.log" -ErrorAction SilentlyContinue)) {
|
|
||||||
Write-ToLog "-> Creating SymLink for log file (WAU-install) in Intune Management Extension log folder" "yellow"
|
|
||||||
$null = (New-Item -Path "${env:ProgramData}\Microsoft\IntuneManagementExtension\Logs\WAU-install.log" -ItemType SymbolicLink -Value ('{0}\logs\install.log' -f $WorkingDir) -Force -Confirm:$False -ErrorAction SilentlyContinue)
|
|
||||||
}
|
|
||||||
|
|
||||||
#Update Winget if not up to date
|
#Update Winget if not up to date
|
||||||
$null = Update-WinGet
|
$null = Update-WinGet
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue