Script de récupération de nom et d'ip
Dernière réponse : dans Programmation
Voilà un petit code qui permet de récupérer l'adresse ip et le nom d'utilisateur est de le placer dans un fichier texte.
Simplement j'aurai voulu apporter des modifications dessus.
1) Comment faire pour simplement récupérer le nom d'utilisateur et non le nom du PC, comme présenté ci-dessous, il récupère les deux.
2) Ce script peut seulement être exécuté en administrateur, comment faire pour que chaque utilisateur puisse l'éxécuter??
3) Si quelqu'un pouvait me le commenter en peu, ca serait cool.
4) Pour terminer il y a une ligne de code " strOutText = WshShell.SpecialFolders("Desktop") & "\AdresseIP.txt" qui va placer sur le bureau un fichier texte du nom de AdresseIP. Ce que j'aimerai faire, c'est éxécuter ce script au démarrage et le placer dans un dossier partagé. Pour que par la suite, je puisse récupérer l'ensemble des utilisateurs et leur adresse ip dans un seul fichier texte. Si quelqu'un aurait une piste, d'avance merci.
Simplement j'aurai voulu apporter des modifications dessus.
1) Comment faire pour simplement récupérer le nom d'utilisateur et non le nom du PC, comme présenté ci-dessous, il récupère les deux.
2) Ce script peut seulement être exécuté en administrateur, comment faire pour que chaque utilisateur puisse l'éxécuter??
3) Si quelqu'un pouvait me le commenter en peu, ca serait cool.
4) Pour terminer il y a une ligne de code " strOutText = WshShell.SpecialFolders("Desktop") & "\AdresseIP.txt" qui va placer sur le bureau un fichier texte du nom de AdresseIP. Ce que j'aimerai faire, c'est éxécuter ce script au démarrage et le placer dans un dossier partagé. Pour que par la suite, je puisse récupérer l'ensemble des utilisateurs et leur adresse ip dans un seul fichier texte. Si quelqu'un aurait une piste, d'avance merci.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
Set colComputer = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputer
msg = msg & objComputer.UserName & ","
Next
count = 1
For Each objItem in colItems
For Each strAddress in objItem.IPAddress
msg = msg &vbCrLf& strAddress & " , " & count
count = count +1
Next
Next
Set WshShell = WScript.Createobject("WScript.Shell")
strOutText = WshShell.SpecialFolders("Desktop") & "\AdresseIP.txt"
Set objFso = Createobject("Scripting.FileSystemObject")
Set objTxt = objFso.OpenTextFile(strOutText, 2, True)
objtxt.WriteLine msg
objtxt.Close
Wscript.Echo msg
Autres pages sur : script recuperation nom
Lassé par la pub ? Créez un compte
Les réponses aux questions 1, 2 et 4 découleront justement de la question 3.
Or tu donnes l'impression de récupérer des bouts de code sans rien comprendre en nous demandant de réfléchir et de comprendre à ta place. Ce n'est pas du tout la philosophie de ce forum.
Au contraire, je te propose de faire l'exercice inverse : Essaie de tout comprendre, en t'aidant de l'aide de MS, de google, de ton cerveau, etc (A mettre dans l'ordre qui te conviendra). Ceci fait publie ce que toi tu en auras compris, ligne par ligne, mot par mot s'il le faut.
Les membres de ce forum se feront alors un plaisir de te contre-dire à chaque "inexactitude". Et s'il te reste des points obscurs, nous nous ferons un plaisir de te les éclaircir. Ta compréhension du sujet sera alors TOTALE !
Or tu donnes l'impression de récupérer des bouts de code sans rien comprendre en nous demandant de réfléchir et de comprendre à ta place. Ce n'est pas du tout la philosophie de ce forum.
Au contraire, je te propose de faire l'exercice inverse : Essaie de tout comprendre, en t'aidant de l'aide de MS, de google, de ton cerveau, etc (A mettre dans l'ordre qui te conviendra). Ceci fait publie ce que toi tu en auras compris, ligne par ligne, mot par mot s'il le faut.
Les membres de ce forum se feront alors un plaisir de te contre-dire à chaque "inexactitude". Et s'il te reste des points obscurs, nous nous ferons un plaisir de te les éclaircir. Ta compréhension du sujet sera alors TOTALE !
Citation :
tu donnes l'impression de ...
Alors commente-moi la ligne 26, par exemple, je répondrais alors à la question 4
Concernant le point 1, tu parles de nom de PC. Veux-tu dire "nom de domaine" ? Je n'ai pas de PCs en Groupe de travail pour vérifier, donne un exemple.
Si tu cherches à séparer NOM_PC\NOM_UTILISATEUR, voilà quelque chose de simple : utilise InStr et Mid, pour trouver le slash et ne prendre que la partie de la chaine qui t'intéresse.
Ce script peut donner un résultat correct, même pour un non-administrateur.
strOutText = WshShell.SpecialFolders("Desktop" ) & "\AdresseIP.txt"
Je place dans une variable un objet qui contient des méthodes permettant d'accéder aux ressources systèmes. La propriété SpecialFolders va lister tout les accès aux dossiers environnement de Windows. Voilà simplement je n'ai pas trouvé d'information pour pouvoir stocker ceci dans un fichier qui se redirigerait dans un dossier partager, est-ce possible? apparement pas avec cette propriété.
Concerant le point 1, j'ai nommé mon ordinateur PC-de-Nasbe. Le script me fournis le résultat suivant PC-de-Nasbe\Nasbe. Je vais regarder les fonction InStr et Mid.
Lorsque j'exécute ce script avec un compte Invité, il me m'est un message d'erreur. Permission refusée : GetObject.
Merci déjà de ton aide.
Je place dans une variable un objet qui contient des méthodes permettant d'accéder aux ressources systèmes. La propriété SpecialFolders va lister tout les accès aux dossiers environnement de Windows. Voilà simplement je n'ai pas trouvé d'information pour pouvoir stocker ceci dans un fichier qui se redirigerait dans un dossier partager, est-ce possible? apparement pas avec cette propriété.
Concerant le point 1, j'ai nommé mon ordinateur PC-de-Nasbe. Le script me fournis le résultat suivant PC-de-Nasbe\Nasbe. Je vais regarder les fonction InStr et Mid.
Lorsque j'exécute ce script avec un compte Invité, il me m'est un message d'erreur. Permission refusée : GetObject.
Merci déjà de ton aide.
Il y a plusieurs niveaux de permissions entre admin et invité. C'est à toi de les gérer. (Peut-être certains ici le savent mais c'est plus un problème lié aux droits sous Windows qu'un problème de programmation. Eventuellment, va voir dans la cat' Le monde de Windows) Sinon, il y a toujours la possibilité de faire s'exécuter un programme avec les droits de quelqu'un d'autre.
Ben voilà le problème. Ce n'est pas ce que tu veux faire
Comment s'appelle le dossier partagé ? S'il s'appelle P:\TOTO, essaie
Citation :
La propriété SpecialFolders va lister tout les accès aux dossiers environnement de Windows
Comment s'appelle le dossier partagé ? S'il s'appelle P:\TOTO, essaie strOutText = "P:\TOTO\AdresseIP.txt"
S'il s'appelle \\server001\dossiers_partagés, essaie strOutText = "\\server001\dossiers_partagés\AdresseIP.txt"
Merci, c'est exactement ce qu'il me fallait. Mon dernier problème était de pouvoir renommer le nom du fichier texte (AdresseIP.txt) par le nom d'utilisateur. Comme ca lorsque je récupère l'ensemble des fichiers, il ne s'écrase pas les uns des autres.
Ma question est: est-il possible de nommer un fichier texte en utilisant le nom d'une variable. J'ai fais un deux tests mais j'ai chaque fois eu des erreurs.
Ma question est: est-il possible de nommer un fichier texte en utilisant le nom d'une variable. J'ai fais un deux tests mais j'ai chaque fois eu des erreurs.
Vu que tu utilises FSO tu peux par exemple passer par la méthode CopyFile pour créer ton fichier texte renommer et te servir de AdresseIP.txt comme d'un fichier de travail temporaire.
Sinon si tu as une variable à la création il suffit de l'utiliser.
Sinon si tu as une variable à la création il suffit de l'utiliser.
StrOutText = "\\server001\toto\" & sNomUtil & ".txt"
Oui, c'est possible.
Comme écrit plus haut : Dis-nous comment tu as fait, nous aurons le "plaisir de te contre-dire". (irony-inside
). Nous te dirons aussi pourquoi ça ne marche pas, comment faire pour que ça marche, voire comment faire autrement pour que ça marche mieux. Ainsi, le code que tu implémenteras sera le tien, modulo les remarques et conseils pêchés ici.
Comme écrit plus haut : Dis-nous comment tu as fait, nous aurons le "plaisir de te contre-dire". (irony-inside
). Nous te dirons aussi pourquoi ça ne marche pas, comment faire pour que ça marche, voire comment faire autrement pour que ça marche mieux. Ainsi, le code que tu implémenteras sera le tien, modulo les remarques et conseils pêchés ici. Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumScript vbs ip
- ForumScript nom ordinateur
- ForumAdresse ip script
- benchmarkRecuperation ip depuis un script
- ForumScript trouver nom utilisateur
- ForumScript vbs recuperer ip
- ForumScript batch avec nom long
- ForumScript pour recuperer adresse ip
- ForumScript vbs adresse ip
- ForumProbleme de nom et dadressage ip
- Voir plus