Welcome to the community forums for Theopenem. You are encouraged to not only ask questions but help others as well. If you have found Theopenem helpful in any way please consider purchasing a support contract. A support contract ensures the continued development of Theopenem as well as guaranteed responses to your questions in our helpdesk ticketing system.


  • Just an idea! Not sure if this could be done.

    Is it possible to image automatically without using a USB or PXE?

    For example select a group (for example a lab) and push a new image to them. It can avoid manual work of going to individual devices to boot from a USB to re-image.

    1. Copy the boot file to a folder in C:\ drive
    2. Boot into windows PE using ramdisk

    https://learn.microsoft.com/en-us/answers/questions/563319/setup-bcd-to-boot-pe-from-ram.html


  • It's definitely possible. The question is, is it worth the effort to implement it.


  • @theopenem_admin I think it will add a lot of value for your product. Smart deploy does this. Please see below link for more details.

    https://www.smartdeploy.com/download/trial-guide/

    I work for a college and we use Theopenem. Right now we need to re-image our computers every semester to keep them updated.

    We have to to thousands of computers and boot from a USB to re-image is a a lot of manual work. If we could automate this, that would be golden.


  • @theopenem_admin Absolutely worth the effort. Remote imaging without having to physically touch a machine is crucial in an education environment where we image computer labs all over campus. We're currently using Ghost which has been doing this for years but would like to move away from it.


  • I'm not sure we are talking about the same thing. Theopenem can already image a machine without needing to physically touch it. @jithinpsk is talking about re-imaging a machine by kicking of a task while that computer is in Windows without the need to pxe boot. This assumes the computer is currently functional and can communicate with Theopenem ahead of time.


  • @theopenem_admin Apologies. We're talking about same thing. Re-imaging a machine that's running in windows with the client installed. We have the same scenario as jithinpsk. Currently with Ghost, we select a task to re-image a lab. The computers reboot into WinPe and boot up the Ghost client to connect to our Ghost server. No USB or PXe required.


  • Understood. Thanks. I'll keep this on my radar. It's probably fairly easy to implement. The needed pieces are already there.


  • @theopenem_admin Thank you! That would be amazing!


  • @theopenem_admin Apologies for not being clear. I wasn't aware of the feature where we can image without touching the computer. What is that option called?

    Because of the IT security restrictions we cannot enable PXE boot in our classrooms. Currently we boot these devices from USB and image them. It takes a lot of time and effort for this repetitive process.

    Thank you for looking into this.


  • If somebody is looking at a similar solution, you can use PowerShell to do this. This is not my script, but it works perfectly.

    <#
    
    .Synopsis
        This script will create a ramdisk containing the boot.wim which the computer will boot to on restart. This script will work only on Windows Imaging environment.
    
    .Prerequisites
        - From the Windows PE boot USB, copy boot.wim in the Sources folder to C:\Sources on the target
        - From the Windows PE boot USB, copy the Boot folder to C:\ on the target
    
    .Notes
        Because "bcdedit /bootsequence" is used, the computer should boot back into Windows when restarted if imaging is cancelled.
    
    #>
    
    # Checks that Disk 0 is the boot disk.
    $DISKZERO = Get-Disk 0
    If ($DISKZERO.IsBoot -ne $true) {
    Write-Host "Disk 0 is not the boot disk. Exiting..."
    Exit 999
    }
    else {
    Write-Host "Disk 0 is the boot disk. Proceeding..."
    }
    
    # Create {ramdiskoptions} and configure
    bcdedit -create "{ramdiskoptions}"
    bcdedit /set "{ramdiskoptions}" ramdisksdidevice partition=C:
    bcdedit /set "{ramdiskoptions}" ramdisksdipath \boot\boot.sdi
    
    # Add LiteTouch boot device to OSLOADER
    $Output = bcdedit -create /d "LiteTouch MDT" /application OSLOADER
    
    # Obtain LiteTouch boot device GUID
    $LTGUID = $Output | %{ $_.split(' ')[2] }
    
    # Configure LiteTouch to ramdisk boot
    bcdedit /set $LTGUID device "ramdisk=[C:]\sources\boot.wim,{ramdiskoptions}"
    bcdedit /set $LTGUID osdevice "ramdisk=[C:]\sources\boot.wim,{ramdiskoptions}"
    bcdedit /set $LTGUID systemroot \windows
    bcdedit /set $LTGUID detecthal yes
    bcdedit /set $LTGUID winpe yes
    
    # Adjust for UEFI vs Legacy BIOS types
    if ($env:firmware_type -eq 'UEFI'){
    Write-Host "UEFI boot confirmed."
    bcdedit /set $LTGUID path \windows\system32\boot\winload.efi
    }
    Else {
    Write-Host "Legacy boot confirmed."
    bcdedit /set $LTGUID path \windows\system32\boot\winload.exe
    }
    
    # Force LiteTouch ramdisk on next boot and restart
    bcdedit /bootsequence $LTGUID
    shutdown /r /f /t 0
    

  • This is now available in 1.5.0.