Software to auto-reset windows on reboot

CA50

Level E
Hello All,
I am looking for a software which should make my windows sort off read-only.
Logged-in user should be able to do all their stuff, but once the PC is resetted/restarted all the newly added files/folders and settings should be removed.

Many years back I read about such tool in one of the tech forum, I don't remember the exact name, it might be 'freezer'.

Anyone who has leads on this, please share.

Cheers!
 
@vishalrao

Yes, UWF is indeed a great solution. It is a true successor to the Enhanced Write Filter feature present in older Embedded SKUs.

Porting the feature to non-Enterprise SKUs is possible, but that's a different story. Shameless advert, but I can offer cheap licenses for both IoT Enterprise and LTSB/LTSC Enterprise builds. ;)
 
Last edited:
are you looking for deepfreeze?
Thank you, I tried to use it.
But it felt too complex, didn't want to check tutorials and learn to use it.

@CA50

In case you're looking for a native solution, then do explore Unified Write Filter.
What I read is that, it is an optional feature for Windows 10.
But in my case my target OS is multiple flavor of windows, so it doesn't fit my problem.

Another option is to run windows under a VM which you can snapshot and simply boot off the snapshot itself every time.

Not sure if the free proxmox hypervisor supports this.


Oh this is nifty. Seems to require enterprise edition though.
Actually, I am already using VMs and snapshot/checkpoint is indeed a solution.
But I was looking for an automated solution, where I don't have to take and revert snapshots.

Shadow Defender ?

I tried this and it is very good. The UX is very good, the application UI is self explanatory and does my work pretty good.

Thank you all for your inputs.
 
Disclaimer: used to do this shit long long time back…

So what you can do is simple vb script/powershell thing to call system restore every time you want to… in this case you have to call this during boot time as a scheduled task.

how to automate system restore?
there is a framework called windows management instrumentation (wmi) to do a shitton of tasks. it uses cim repository and there are many plugins to it (like i said… old school activex components)

in this case the plugin you have to use is system restore plugin. documentation is here: https://docs.microsoft.com/en-us/windows/win32/sr/system-restore-wmi-classes

so in the script you instantiate an object of this and call Restore function with restore point.

i know this is could be too much of coding but wmi is core component of windows and will work on every version. Also i am too lazy to write a poweshell script as of today.
 
@booo

System Restore won’t affect files in the %UserProfile% folder, which means it will not revert user files stored under the local user folder (e.g. browsing history, favorites, and personal files). As a result, it might not be the ideal solution in this particular use case.

@CA50

As I mentioned earlier, Unified Write Filter is an evolution of Enhanced Write Filter (EWF) and the File Based Write Filter (FBWF), both of which are present on Embedded SKUs of older Windows versions till XP. But if you need a Windows-build-agnostic solution that doesn't need a huge manual configuration, then you should go for a third-party software.
 
Last edited:
@booo

System Restore won’t affect files in the %UserProfile% folder, which means it will not revert user files stored under the local user folder (e.g. browsing history, favorites, and personal files). As a result, it might not be the ideal solution in this particular use case.
aha… but we can use system wipe.

Bash:
$namespaceName = "root\cimv2\mdm\dmmap"
$className = "MDM_RemoteWipe"
$methodName = "doWipeMethod"

$session = New-CimSession

$params = New-Object Microsoft.Management.Infrastructure.CimMethodParametersCollection
$param = [Microsoft.Management.Infrastructure.CimMethodParameter]::Create("param", "", "String", "In")
$params.Add($param)

$instance = Get-CimInstance -Namespace $namespaceName -ClassName $className -Filter "ParentID='./Vendor/MSFT' and InstanceID='RemoteWipe'"
$session.InvokeMethod($namespaceName, $instance, $methodName, $params)
from: https://techcommunity.microsoft.com...dows-10-without-user-intervention/m-p/1339823
 
@booo

I'm afraid you're ignoring the impact of the read/write overhead. Since regular Windows builds don't impose a strict system volume isolation, resetting the OS in a traditional way requires a prior master image (either locally or through a managed environment, as suggested by you) to be set up beforehand. Moreover, NTFS doesn't offer a true overlay interface, which is why you can only get a desirable performance benefit by using some kind of kernel-level write filter that can redirect any writes to the drive to a virtual overlay. Such an overlay can be hosted on RAM as well, which will significantly improve the throughput.

All reboot-to-restore software packages (such as Shadow Defender, Deep Freeze, Toolwiz Time Freeze, RollBack Rx etc.) aim to offer the aforementioned features in their own way. An average Joe/Jane might find one of them suitable for their needs, but I personally prefer to use a native solution that is tightly integrated with the underlying OS - be it Windows, Linux, or macOS.
 
Last edited:
@booo

I'm afraid you're ignoring the impact of the read/write overhead. Since regular Windows builds don't impose a strict system volume isolation, resetting the OS in a traditional way requires a prior master image (either locally or through a managed environment, as suugested by you) to be set up beforehand. Moreover, NTFS doesn't offer a true overlay interface, which is why you can only get a desirable performance benefit by using some kind of kernel-level write filter that can redirect any writes to the drive to a virtual overlay. Such an overlay can be hosted on RAM as well, which will significantly improve the throughput.

All reboot-to-restore software packages (such as Shadow Defender, Deep Freeze, Toolwiz Time Freeze, RollBack Rx etc.) aim to offer the aforementioned features in their own way. An average Joe/Jane might find one of them suitable for their needs, but I personally prefer to use a native solution that is tightly integrated with the underlying OS - be it Windows, Linux, or macOS.
You brought up a good/interesting point. There is something known as https://docs.microsoft.com/en-us/fslogix/ which I worked on many years ago. This was called Altiris software virtualization solution back then. I worked with the guy who originally came up with the idea and patented it. I think his name was Randy Cook if I remember correctly. It was a simple windows file system filter driver which created layers(overlays) for individual softwares and the user will be able to "reset" individual software. I wrote the WMI provider for it. good memories :)
 
Last edited:
You brought up a good/interesting point. There is something known as https://docs.microsoft.com/en-us/fslogix/ which I worked on many years ago. This was called Altiris software virtualization solution back then. I worked with the guy who originally came up with the idea and patented it. I think his name was Randy Cook if I remember correctly. It was a simple windows file system filter driver which created layers(overlays) for individual softwares and the user will be able to "reset" individual software. I wrote the WMI provider for it. good memories :)

Finally, someone who speaks English!

FSLogix does ring a bell, cause it was proposed as a complete framework for non-persistent computing. Windows SteadyState, for example, was another important step towards streamlining such concepts.

Microsoft gradually ported these enterprise (and embedded)-minded features to consumer editions in order to reduce the fragmentation as well as the maintenance overheads, which, in turn, hugely benefits the regular user base.

@CA50 @vishalrao

For those Windows editions that support VHD booting, you can also give the Differencing VHD feature a go. Still less-efficient that a dedicated write filter, but since you guys are no stranger with VHDs, it is worth a shot.
 
Last edited:
Back
Top