def ecmd(command):   
    from subprocess import Popen, PIPE
    import ctypes
    class disable_file_system_redirection:
        _disable = ctypes.windll.kernel32.Wow64DisableWow64FsRedirection
        _revert = ctypes.windll.kernel32.Wow64RevertWow64FsRedirection
        def __enter__(self):
            self.old_value = ctypes.c_long()
            self.success = self._disable(ctypes.byref(self.old_value))
        def __exit__(self, type, value, traceback):
            if self.success:
                self._revert(self.old_value)
    with disable_file_system_redirection():
        obj = Popen(command, shell = True, stdout = PIPE, stderr = PIPE)
        out, err = obj.communicate()
        if out:
            return out.strip()
        else:
            print(err)

def checkfilehistory(): 
    import xml.etree.ElementTree as ET
    import ctypes
    import os
    class disable_file_system_redirection:
        _disable = ctypes.windll.kernel32.Wow64DisableWow64FsRedirection
        _revert = ctypes.windll.kernel32.Wow64RevertWow64FsRedirection
        def __enter__(self):
            self.old_value = ctypes.c_long()
            self.success = self._disable(ctypes.byref(self.old_value))
        def __exit__(self, type, value, traceback):
            if self.success:
                self._revert(self.old_value)
    with disable_file_system_redirection():
        users = ecmd("net users")
        split = users.strip().splitlines()[3:]
        split.pop()
        split.pop(0)
        for i in split:
            for us in i.strip().split():
                if os.path.exists("C:\\Users\\%s"%(us)):
                    dirpath = "C:\Users\%s\AppData\Local\Microsoft\Windows\FileHistory\Configuration\Config1.xml"%(us)
                    if os.path.exists(dirpath):
                        path = ET.parse(dirpath)
                        root = path.getroot()
                        for i in root.findall("./DPStatus"):
                            result = i.text.encode("utf8")
                            if result.strip() == "ENABLED":
                                diskcheck = ecmd("fsutil fsinfo drives")
                                for e in root.findall("Target"):
                                    disk = e.find('TargetUrl').text
                                    if disk in diskcheck:
                                        print("file history backup is active for user %s"%(us))
                                    else:
                                        print("external drive %s is disconnected which is currently used for file history backup for user %s.please reconnect the drive"%(disk,us))
                            else:
                                print("filehistory backup is not active for user %s. it is disabled. please enable it"%(us))
                    else:
                        print("filehistory backup for user %s is not activated on a drive. please first choose an external drive and activate filehistory on it"%(us))
checkfilehistory()