38 votes

Restauration d'un logiciel ouvert après un événement de redémarrage dans Windows

Je constate qu'à la fin d'une longue journée, j'ai parfois un grand nombre de programmes en cours d'exécution. Tous ceux que j'aurai besoin d'utiliser demain. Normalement, ce n'est pas un problème, je peux simplement verrouiller la machine et revenir le lendemain. Mon problème survient lorsque Windows update se lance au milieu de la nuit et redémarre de force mon ordinateur. Ce qui a pour effet de fermer tous mes logiciels ouverts. Bien sûr, je sauvegarde tout régulièrement pour ne rien perdre, mais je perds du temps à rouvrir toutes ces ressources chaque fois qu'il y a un redémarrage.

[EDIT]

Je dois préciser que je veux toujours pouvoir redémarrer mon ordinateur lorsqu'une mise à jour arrive. Empêcher le redémarrage ne fait que reporter le problème à plus tard. J'aurais dû être plus précis en disant que je veux pouvoir récupérer mon environnement de travail après un redémarrage pour n'importe quelle raison. Des choses comme la maintenance programmée, la perte de puissance, les mises à jour et l'installation de logiciels.

[EDIT]

Je ne peux pas simplement les configurer pour qu'ils soient lancés au démarrage, car ces fichiers changent d'une semaine à l'autre. J'ai donc besoin de quelque chose qui surveille ce que j'ai ouvert et qui me donne la possibilité de "récupérer" ces sessions logicielles lorsque je me reconnecte.

Quelqu'un a-t-il des suggestions sur ce que je peux faire ? Je serais même prêt à acheter un logiciel pour le faire à ma place si c'est la seule option possible.

Gracias

0 votes

En fait, je me souviens avoir lu quelque part que Win7 était censé disposer d'une fonctionnalité de ce type, mais je suppose qu'ils n'ont pas pu la mettre au point à temps pour la sortie. Il se peut donc qu'elle soit disponible à l'avenir.

1 votes

La commande "shutdown /g" semble pouvoir être couplée à la fonction de récupération automatique des pannes d'un programme pour réaliser 75 % de ce que je recherche. Je vais devoir faire d'autres tests pour voir si cela fonctionne.

1 votes

La commande shutdown ne fonctionne pas vraiment comme espéré... ce dont j'ai vraiment besoin est un moyen de surveiller les fichiers actuellement ouverts. Ensuite, je peux simplement construire un script dynamique pour relancer ces fichiers.

6voto

Scott McClenning Points 3547

J'ai entendu des gens utiliser un programme appelé CacheMyWork . Il rouvrira les applications que vous aviez ouvertes, mais il n'ouvrira pas les fichiers sur lesquels vous travailliez (à moins que le programme ne dispose d'une telle fonction).

Vous pouvez également contourner le problème en exécutant vos applications dans une machine virtuelle. Ensuite, lorsque vous rentrez chez vous, vous pouvez mettre la machine virtuelle en pause, ce qui permet de conserver l'état de la machine virtuelle sur le disque. Puis vous reprenez la machine virtuelle à votre retour. Vous évitez ainsi le problème de la mise à jour ou de la correction du système d'exploitation de la machine virtuelle. En outre, vous subirez probablement une baisse des performances (l'ampleur de cette baisse dépendra de ce que vous ferez).

Quand il s'agit de laisser les choses ouvertes et de redémarrer les machines à partir de correctifs, je suis d'accord avec vous.

1 votes

La suggestion du logiciel est un pas dans la bonne direction. Je pense que le problème est qu'il ne surveille pas activement les fichiers ouverts, de sorte qu'il ne peut pas les restaurer plus tard. Au pire, je pourrais avoir à bricoler un script qui détecte les fichiers ouverts et les configure pour qu'ils soient lancés dans l'ordre.

1 votes

Je suis d'accord, j'aimerais que CacheMyWork surveille les documents ouverts (comme les Docuemtns récents de Windows) et réexécute les documents au démarrage. Tout comme un double-clic sur un document Microsoft Word déclenche Word, CacheMyWork pourrait faire un grand pas en avant en exécutant mes documents au démarrage.

4voto

Fr4nc3sc0NL Points 143

2016 et toujours rien de la part de Microsoft... J'ai décidé de faire un essai avec vbscript . Ce n'est pas génial, mais cela permet de relancer tous les programmes et dans certains cas, c'est même Windows.

Le premier script enregistre tous les processus dans un fichier texte dans le dossier spécifié (bureau) et tous les noms de fenêtres dans un fichier séparé. Le second script lit et lance tous les processus à partir du fichier écrit par le premier script. Les deux doivent être enregistrés avec l'extension .vbs. De plus, l'enregistrement des noms de fenêtres nécessite l'installation de Microsoft Word (Ne demandez pas ).

On Error Resume Next
Dim session, folder, Word, Tasks

Set Word = CreateObject("Word.Application")
Set Tasks = Word.Tasks

' folder is the folder in which the files will be created. Can also be instantiated by hardcoding a path
folder = getPathOfFolder("Desktop")
' The second argument of the function call (session.txt) is the filename of the file containing all window names
Set sessionFile = CreateFileAt(folder, "session.txt")

for Each Task in Tasks
    if Task.Visible Then
        sessionFile.WriteLine(Task.Name)
    End if
Next
sessionFile.Close
Word.Quit

' The second argument of the function call (processes.txt) is the filename of the file containing all processes
Set processesFile = CreateFileAt(folder, "processes.txt")
set processesList = getAllProcesses()

for Each Process in processesList
    processesFile.WriteLine(Process.CommandLine & "")
Next

processesFile.Close
MsgBox("Done!")

Function getPathOfFolder(path)
    ' Dim objShell As Object
    ' Dim strPath As String

    Set objShell = Wscript.CreateObject("Wscript.Shell")
    Path = objShell.SpecialFolders(path)
    getPathOfFolder = Path & "\"
End Function

Function CreateFileAt(filePath, fileName)
    Dim fso, session
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set session = fso.CreateTextFile(filePath & fileName, true)
    Set CreateFileAt = session
End Function

Function getAllProcesses()
    Const Computer = "." 
    Dim WMI, ProcessList
    Set WMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2")
    Query = "Select * FROM Win32_Process"
    Set ProcessList = WMI.ExecQuery(Query)
    Set getAllProcesses = ProcessList
End Function

.

On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(getPathOfFolder("Desktop") & "processes.txt", 1)

Do While file.AtEndOfStream = False
    Set Shell = CreateObject("Wscript.Shell")
    Shell.Run(file.ReadLine)
Loop

MsgBox("Done!")

Function getPathOfFolder(path)
    ' Dim objShell As Object
    ' Dim strPath As String

    Set objShell = Wscript.CreateObject("Wscript.Shell")
    Path = objShell.SpecialFolders(path)
    getPathOfFolder = Path & "\"
End Function

Je n'ai pas encore trouvé le moyen d'obtenir de manière programmatique les chemins d'accès aux fichiers que user78017 copie à chaque fois qu'il redémarre. J'aimerais savoir pour quels programmes ce script ouvre à nouveau tous les fichiers ouverts et pour quels programmes il ne le fait pas. Si quelqu'un a envie de nettoyer ce code, n'hésitez pas à modifier le post.

1voto

webclimber Points 1638

J'ai trouvé celui-ci dans le flux RSS aujourd'hui :

CacheMyWork est un utilitaire pratique qui vous permet de redémarrer Windows sans perdre votre place dans votre travail. Il établit une liste de contrôle des des applications actuellement ouvertes, et redémarrer les applications que vous avez sélectionnées la sélectionnées la prochaine fois que vous vous connecterez à l'ordinateur.

Source :

0 votes

+1 Ha, c'est mignon ... très belle trouvaille (mais elle avait déjà été postée par Scott).

0voto

Dave Points 586

J'ai le même problème. Après un redémarrage, j'ai au moins une demi-heure de redémarrage de tous les processus que j'utilise normalement.
J'ai trouvé un utilitaire qui a la capacité de revenir à l'état de pré-démarrage, Slimbrowser . J'aimerais beaucoup en avoir plus.

1 votes

J'ai trouvé des moyens de sauvegarder les sessions du navigateur (utiliser firefox) et des dossiers (paramètres Windows) et de les relancer au démarrage. Les autres éléments comme Office (Word, Excel, Outlook), Notepad et Adobe Reader n'ont pas encore trouvé de solution.

0 votes

Pour un éditeur, ultra-edit a cette capacité. Je préfère personnellement kedit en raison de ses capacités de script.

-1voto

CarlF Points 8772

Ce n'est pas exactement ce que vous demandez, mais vous pouvez simplement mettre votre ordinateur en mode "suspension" pendant la nuit. À moins que vous n'ayez des processus en cours d'exécution, cela ne changera rien à la façon dont il fonctionne, il ne faudra qu'une seconde ou deux pour le réactiver le matin, et Windows Update ne peut pas s'exécuter pendant la suspension.

Et c'est gratuit.

0 votes

Bonne idée, mais cela ne résout pas le problème lorsque l'OP doit faire une mise à jour de Windows.

1 votes

J'y ai pensé, la suspension et l'hibernation ne me font vraiment rien. Ce n'est pas que je veuille économiser de l'énergie, c'est surtout que je veux retrouver mon environnement de travail antérieur après un redémarrage difficile.

0 votes

Je pensais que si vous étiez là, vous pourriez refuser de redémarrer jusqu'à ce que ça vous convienne.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X