[MSDOS] comment couper accès et prevenir user

PSENCE Messages postés 3 Statut Membre -  
 anyproblemhavesolution -
Bonjour à tous,
Après avoir recherché, je n'ai pas trouvé de reponse à mon probleme.

Voici le but :

Je souhaite faire un backup quotidien d'un dossier utilisé par de nombreux utilisateurs sur mon reseau AD sous parc Windows XP.

Je souhaite pour cela créer un .bat afin de detecter les utilisateurs connecté à ma machine, les prevenir par net send que je vais couper, et enfin les deconnecter 5 min après avec net stop dhcp.

Donc avec Net view, ou plutot Net File je recupere exactement le fichier utilisé à distance. Cependant le numero de session est generée aleatoirement.

Ce que je ne sais pas faire, c'est recuperer la liste d'utilisateurs connecté à ma machine et envoyer un net send à cette liste, de plus comment recuperer la liste des numero de session, et les couper ?
Afin de couper toute connection à mon PC, net stop dhcp est il la meilleure solution ?

merci de m'aider svp !
Configuration: Windows XP
Firefox 2.0.0.4

6 réponses

  1. dje-dje Messages postés 10538 Date d'inscription   Statut Modérateur Dernière intervention   759
     
    Pourquoi tu fais pas un backup "à chaud" avec Ntbackup ou avec un logiciel plus spécialisé si vous avez les moyens?

    Net stop dhcp n'ai pas la bonne solution je pense (Rien que parce que les PC ont des baux avec une durée) j'arreterais plutot les partages et les recréerais à la fin du script.

    Sinon, pour la liste des utilisateurs ayant ouvert une session, je sais pas ^^
    0
  2. PSENCE Messages postés 3 Statut Membre
     
    Je fais actuellement une sauvegarde à chaud avec UltraBackup, mais les utilisateurs ayant toujours leur fichiers ouvets font que ma sauvegarde echou sur certains fichiers.

    Donc, il faut que je les coupe avant de faire ma sauvegarde.

    Ma question n'est pas de savoir comment faire cette sauvegarde, mais savoir comment prevenir par net send uniquement les utilisateurs connectés, et les jetter le temps de la sauvegarde !
    0
  3. dje-dje Messages postés 10538 Date d'inscription   Statut Modérateur Dernière intervention   759
     
    Pour déconnecter, il me semble qu'il faut utiliser net session plus qu'arreter DHCP
    0
  4. PSENCE Messages postés 3 Statut Membre
     
    merci, mais NET session permet d'afficher les connexions sur un ordinateur, y compris les autres ordinateurs. Pas de les supprimer.

    NET File permet de voir les ID des fichiers actuellement en cours d'utilisation par un utilisateur distant

    par exemple
    N° fichier Chemin Utilisateur Verrous

    -------------------------------------------------------------------------------
    126 C:\Patch_1-17 MPOIRIER 0
    La commande s'est terminée correctement.

    ensuite

    NET File 126 /close
    La commande s'est terminée correctement.
    Le liaison est coupé.

    Je veux donc, dans une boucle, recuperer les N°Fichier et les Utilisateurs
    donc ici, 126 et MPOIRIER, ensuite faire un NET SEND MPOIRIER Atttention je coupe ! puis attendre 5 minutes, et couper avec NET FILE 126 /CLOSE

    Donc, comment deja attendre 5min dans ce batch, et surtout comment recuperer l'ID et le NOM ?
    0
    1. dje-dje Messages postés 10538 Date d'inscription   Statut Modérateur Dernière intervention   759
       
      Il y a un commutateur /delete pour net session

      Plutot que "d'attendre 5min" dans le batch, je ferais deux batch avec 5 min d'ecart dans mon programmateur de tache.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. PSENCE
     
    Mon probleme n'est toujours pas resolu, si quelqu'un pouvait m'aider svp. ! Help
    0
  7. anyproblemhavesolution
     
    @echo off

    echo Voici comment attendre environ 5 minutes dans un batch
    echo Copier coller dans un batch et regler la variable maxminutes pour le nombre de minutes

    set maxminutes=5
    set secondes=0
    set minutes=0

    :startboucle

    ping -n 2 127.0.0.1 >nul
    cls
    set /a secondes=%secondes%+1
    if %secondes%==60 set /a minutes=%minutes%+1
    if %minutes%==%maxminutes% goto endboucle
    echo %minutes%:%secondes%
    goto startboucle

    :endboucle

    echo Fin de la boucle

    pause
    0