IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Créer fichier txt avec la liste de Utilisateur Windows


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2020
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2020
    Messages : 85
    Par défaut Créer fichier txt avec la liste de Utilisateur Windows
    Salut à tous,
    je souhaite un bouton permettant de créer un fichier txt listant la liste des comptes locaux Windows existant sur le PC.
    Pour l'écriture dans un fichier txt, pas de problème.
    Par contre, je me doute bien qu'il faire un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach(Utilisateur in LaListeTotale) 
    {
      Je copie le Nom dans mon fichier txt
    }
    mais je trouve pas la commande exacte.

    Pouvez-vous m'aider ?

    merci.

  2. #2
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2020
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2020
    Messages : 85
    Par défaut
    Bon, a force de chercher, je suis tombé sur une autre méthode qui focntionne bien :
    Ajouter la référence System.Management
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    using System;
    using System.Management;
    using System.Linq;
     
    private void BoutonListeUsers_Click(object sender, RoutedEventArgs e)
            {
                string Dossier = @"c:\temp\";
                string Fichier = "Rapport Liste des Utilisateurs.txt";
                if (File.Exists(Dossier + Fichier)) { File.Delete(Dossier + Fichier); }
                ManagementObjectSearcher usersSearcher = new ManagementObjectSearcher(@"SELECT * FROM Win32_UserAccount");
                ManagementObjectCollection users = usersSearcher.Get();
     
                var localUsers = users.Cast<ManagementObject>().Where(
                    u => (bool)u["LocalAccount"] == true &&
                         (bool)u["Disabled"] == false &&
                         (bool)u["Lockout"] == false &&
                         int.Parse(u["SIDType"].ToString()) == 1 &&
                         u["Name"].ToString() != "HomeGroupUser$");
     
                foreach (ManagementObject user in localUsers)
                {
                    try
                    {
                        // Create the file, or overwrite if the file exists.
                        using (FileStream fs = new FileStream(Dossier + Fichier, FileMode.Append, FileAccess.Write))
                        using (StreamWriter sw = new StreamWriter(fs))
                        {
                            sw.WriteLine("Account Type: " + user["AccountType"].ToString());
                            sw.WriteLine("Caption: " + user["Caption"].ToString());
                            sw.WriteLine("Description: " + user["Description"].ToString());
                            sw.WriteLine("Disabled: " + user["Disabled"].ToString());
                            sw.WriteLine("Domain: " + user["Domain"].ToString());
                            sw.WriteLine("Full Name: " + user["FullName"].ToString());
                            sw.WriteLine("Local Account: " + user["LocalAccount"].ToString());
                            sw.WriteLine("Lockout: " + user["Lockout"].ToString());
                            sw.WriteLine("Name: " + user["Name"].ToString());
                            sw.WriteLine("Password Changeable: " + user["PasswordChangeable"].ToString());
                            sw.WriteLine("Password Expires: " + user["PasswordExpires"].ToString());
                            sw.WriteLine("Password Required: " + user["PasswordRequired"].ToString());
                            sw.WriteLine("SID: " + user["SID"].ToString());
                            sw.WriteLine("SID Type: " + user["SIDType"].ToString());
                            sw.WriteLine("Status: " + user["Status"].ToString());
                            sw.WriteLine("_____________________________________________________________");
                        }
                    }
     
                    catch (Exception ex)
                    {
                        MessageBox.Show("1 " + ex);
                    }
                }
                MessageBoxResult result = MessageBox.Show("Le rapport a été créé à l'adresse : " + Dossier + Fichier, "Voulez-vous ouvrir le dossier ?",
                    MessageBoxButton.YesNo,
                    MessageBoxImage.Question);
                switch (result)
                {
                    case MessageBoxResult.Yes:
                        System.Diagnostics.Process.Start(Dossier);
                        break;
                    case MessageBoxResult.No:
                        //MessageBox.Show("Tu as cliqué sur Non", "My App");
                        break;
                }
            }
    Source ==> https://stackoverrun.com/fr/q/3424555

  3. #3
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2020
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2020
    Messages : 85
    Par défaut
    Coucou, c'est encore moi.
    Je viens de m'apercevoir ce ce bouton me fait planter mon application si je l'exécute sur un PC qui n'a pas de compte locaux...
    Ca plante à partir de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    foreach (ManagementObject user in localUsers)
                {
    Je peux pas installer Visual Studio pour avoir le débogueur sur ce PC...
    une idée du problème ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2010
    Messages : 188
    Par défaut
    Coucou,
    Pourquoi n'attaches-tu pas le process de ta machine distance sur ton code en local ?
    Menu "Déboguer" -> ""Attacher au processus..."

  5. #5
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2020
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Novembre 2020
    Messages : 85
    Par défaut
    Salut,
    je ne l'utilise pas sur une machine distante. En fait, c'est un exe que je trimbale de PC en PC...

    Edit :
    Je viens de comprendre ce que tu essayais de m'expliquer. Tu me conseilles d'attacher mon exe sur le Visual Studio de mon PC de développement ? Si c'est bien cela, comment fait-on plus précisément ?

    Merci de ton aide.

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2010
    Messages : 188
    Par défaut
    Salut Salut,
    Oui, tu as parfaitement compris ce que je voulais dire. Dans ton Visual Studio, tu peux le faire par le menu "Déboguer" puis "Attacher au processus..." Là tu as une fenêtre avec la liste des processus de ton PC (ou du PC distant si tu as choisi cette option là) et tu choisis celui correspondant à ton code et tu demande de l'attacher à ton code. Là tu peux faire du pas à pas en mode débug comme si tu avais lancé le process depuis ton VS.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Sélectionner un répertoire et créer un fichier TXT avec le contenu d'une colonne
    Par Coco l'asticot dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/12/2016, 16h44
  2. [XL-2010] créer fichiers excel avec données différentes nommées selon liste
    Par SG6216 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/05/2016, 10h42
  3. Cmd ECHO créer un fichier txt avec l'heure comme nom
    Par Seth_Nemesia111 dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 10/03/2015, 14h42
  4. Réponses: 8
    Dernier message: 01/06/2010, 14h33
  5. créer un fichier txt avec c++
    Par fatjoe dans le forum C++
    Réponses: 1
    Dernier message: 15/01/2008, 22h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo