Hello,
So I’m trying to perform an in-place upgrade on my Windows 10 machines. I have a dummy machine that I can run tests on.
So I have an ISO file that I got from IT. Looking at the indexes in it, I can see it contains multiple Windows 10 editions (Pro, Ent, Home, Edu, etc.).
Here are the steps I took:
- I copied the ISO to my BES server, renamed it to the SHA1 (without a .iso extension) value and moved it to
BES Server\wwwrootbes\bfmirror\downloads\sha1
. - I created a custom copy of the upgrade fixlet and changed the values as so:
begin prefetch block
add prefetch item name =Windows.20h2.iso sha1=67ac49e4db7db73e2e406e0616e3240fc585e4b5 size=4908253184 url={value of setting "_BESClient_AllowCustomRepoDownloads" of client | "http://MANUAL_BES_CACHING_REQUIRED/"}Windows.20h2.iso sha256=ff8a342bfa96a679ac710c9317b0ba2076e8fffe5e3579c38f5a57ecc92f5100
end prefetch block
parameter "workISO" = "{pathname of client folder of current site & "\__Download\Windows.20h2.iso"}"
continue if {exists file (parameter "workISO")}
So essentially I just changed the SHA1, SHA256 and size. Also, I wasn’t sure if it’s necessary but I also copied the ISO to \__Download\Windows.20h2.iso
. I’m guessing it’s wrong cause that’s where the client downloads the ISO from the server to?
- I deployed the action on my dummy server and the logs look good. I also get this in my summary:
https://i.imgur.com/rLjNt0E.png
I watched the server itself and saw that some actions were being performed by Powershell (setup.exe /bla bla) and other processes. Also, the ISO was mounted on that dummy server, so I figured it works.
The next thing I saw was that the server was pending restart within a couple of minutes. I restarted and it seems like no upgrade was installed.
I’m wondering what I did wrong.
Here are the logs:
ActionLogMessage: (action:629) Download url: 'http://MANUAL_BES_CACHING_REQUIRED/Windows.20h2.iso'
At 14:02:11 +0200 -
Report posted successfully
At 14:15:17 +0200 -
ActionLogMessage: (action:629) Action signature verified for Execution
ActionLogMessage: (action:629) starting action
DownloadCRCPing command received
ActiveDirectory: User logged in - Domain: domain User: user
At 14:15:17 +0200 - actionsite (http://server01.domain:52311/cgi-bin/bfgather.exe/actionsite)
Command succeeded parameter "workISO" = "C:\Program Files (x86)\BigFix Enterprise\BES Client\__BESData\actionsite\__Download\Windows.20h2.iso" (action:629)
Command succeeded (evaluated true) continue if {exists file (parameter "workISO")} (action:629)
Command succeeded parameter "workPath" = "C:\win10_upgrade_temp" (action:629)
Command started - waithidden cmd /C rmdir /S /Q "C:\win10_upgrade_temp" (action:629)
At 14:15:17 +0200 -
ActiveDirectory: Refreshed User Information - Domain: domain User: user
At 14:15:17 +0200 - actionsite (http://server01.domain:52311/cgi-bin/bfgather.exe/actionsite)
Command succeeded (Exit Code=0) waithidden cmd /C rmdir /S /Q "C:\win10_upgrade_temp" (action:629)
Command started - waithidden cmd /C mkdir "C:\win10_upgrade_temp" (action:629)
Command succeeded (Exit Code=0) waithidden cmd /C mkdir "C:\win10_upgrade_temp" (action:629)
Command succeeded delete No 'C:\Program Files (x86)\BigFix Enterprise\BES Client\__BESData\actionsite\__appendfile' exists to delete, no failure reported (action:629)
Command succeeded delete No 'C:\Program Files (x86)\BigFix Enterprise\BES Client\__BESData\actionsite\__Download\setupcomplete.cmd' exists to delete, no failure reported (action:629)
Command succeeded appendfile @echo off (action:629)
Command succeeded (file created) appendfile @echo off (action:629)
Command succeeded appendfile @echo off (action:629)
Command succeeded appendfile SET WindowsISO="C:\Program Files (x86)\BigFix Enterprise\BES Client\__BESData\actionsite\__Download\Windows.20h2.iso" (action:629)
Command succeeded appendfile powershell.exe "Dismount-DiskImage ""%WindowsISO%""" (action:629)
Command succeeded appendfile rmdir /S /Q "C:\win10_upgrade_temp" (action:629)
Command succeeded move __appendfile __Download\setupcomplete.cmd (action:629)
Command succeeded delete No 'C:\Program Files (x86)\BigFix Enterprise\BES Client\__BESData\actionsite\__appendfile' exists to delete, no failure reported (action:629)
Command succeeded (file created) appendfile @echo off (action:629)
Command succeeded appendfile @echo off (action:629)
Command succeeded appendfile SET WindowsISO="C:\Program Files (x86)\BigFix Enterprise\BES Client\__BESData\actionsite\__Download\Windows.20h2.iso" (action:629)
Command succeeded appendfile FOR /F "skip=3" %%I IN ('powershell.exe "Get-DiskImage """%WindowsISO%""" | Get-Volume | Select-Object {$_.DriveLetter}"') DO %%I:\setup.exe /auto upgrade /Compat ScanOnly /DynamicUpdate disable /noreboot" (action:629)
Command succeeded appendfile echo %errorlevel% > "C:\win10_upgrade_temp\out.log" (action:629)
Command succeeded move __appendfile "C:\win10_upgrade_temp/upgradeCheck.bat" (action:629)
Command succeeded delete No 'C:\Program Files (x86)\BigFix Enterprise\BES Client\__BESData\actionsite\__appendfile' exists to delete, no failure reported (action:629)
Command succeeded delete No 'C:\Program Files (x86)\BigFix Enterprise\BES Client\__BESData\actionsite\mount.and.install.bat' exists to delete, no failure reported (action:629)
Command succeeded (file created) appendfile @echo on (action:629)
Command succeeded appendfile @echo on (action:629)
Command succeeded appendfile SET WindowsISO="C:\Program Files (x86)\BigFix Enterprise\BES Client\__BESData\actionsite\__Download\Windows.20h2.iso" (action:629)
Command succeeded appendfile powershell.exe "Mount-DiskImage ""%WindowsISO%""" (action:629)
Command succeeded appendfile TIMEOUT 10 (action:629)
At 14:15:18 +0200 - actionsite (http://server01.domain:52311/cgi-bin/bfgather.exe/actionsite)
Command succeeded appendfile FOR /F "skip=3" %%I IN ('powershell.exe "Get-DiskImage """%WindowsISO%""" | Get-Volume | Select-Object {$_.DriveLetter}"') DO dir %%I: > "C:\win10_upgrade_temp\dir.log" && %%I:\setup.exe /auto upgrade /Quiet /DynamicUpdate disable /noreboot /postoobe "C:\Program Files (x86)\BigFix Enterprise\BES Client\__BESData\actionsite\__Download\setupcomplete.cmd" (action:629)
Command succeeded appendfile echo %errorlevel% > "C:\win10_upgrade_temp\out.log" (action:629)
Command succeeded move __appendfile mount.and.install.bat (action:629)
Command started - wait mount.and.install.bat > "C:\win10_upgrade_temp\cmd.log" (action:629)
At 14:15:21 +0200 -
Report posted successfully
At 14:17:23 +0200 - actionsite (http://server01.domain:52311/cgi-bin/bfgather.exe/actionsite)
Command succeeded (Exit Code=0) wait mount.and.install.bat > "C:\win10_upgrade_temp\cmd.log" (action:629)
Command started - wait __Download\setupcomplete.cmd >"C:\win10_upgrade_temp\setupcomplete.log" (action:629)
At 14:17:28 +0200 -
Report posted successfully
At 14:17:32 +0200 - actionsite (http://server01.domain:52311/cgi-bin/bfgather.exe/actionsite)
Command succeeded (Exit Code=0) wait __Download\setupcomplete.cmd >"C:\win10_upgrade_temp\setupcomplete.log" (action:629)
Command succeeded action requires restart "1B1BD78704E5B0476490DCB85EC6187AB2DE7EA4" (action:629)
At 14:17:42 +0200 - actionsite (http://server01.domain:52311/cgi-bin/bfgather.exe/actionsite)
Fixed - Windows 10 20H2 Pro - In-place upgrade fixlet (fixlet:627)
One more thing, I have a setupcomplete.log
file inside of C:\win10_upgrade_temp
with the following content:
Attached : False
BlockSize : 0
DevicePath :
FileSize : 4908253184
ImagePath : C:\Program Files (x86)\BigFix Enterprise\BES
Client\__BESData\actionsite\__Download\Windows.20h2.iso
LogicalSectorSize : 2048
Number :
Size : 4908253184
StorageType : 1
PSComputerName :