classe-a Posté(e) le 4 octobre 2007 Partager Posté(e) le 4 octobre 2007 Bonjour à toutes et à tous, Je me permets de vous contacter afin de vous demander un renseignement. Je suis une clinche en programmation VBScript, cependant je suis parvenu à générer un fichier texte avec un contenu. Je souhaite faire apparaître à certain endroit de mon fichier texte des variables Windows (System, user, ...). Comment faire dans mon script pour qu' apparaissent à des endroits bien spécifique de mon texte des variables systemes ? Exemples: le fichier texte contiendra : Voici un résumé des caractéristiques de la machine utilisateur : (code VBScript pour afficher dans le fichier texte l'utilisateur loggé sur la machine à cet emplacement) système d'exploitation : (code VBScript pour afficher dans le fichier texte le type de système d'exploitation sur la machine à cet emplacement) D'avance, je vous remercie Lien vers le commentaire Partager sur d’autres sites More sharing options...
Spaz001 Posté(e) le 5 octobre 2007 Partager Posté(e) le 5 octobre 2007 C'est ton VBScript qui écrit tout le fichier texte ? Ou il faut lire le fichier, et écrire au bon endroit ? Sinon, pour l'user : Const wbemFlagReturnImmediately = &h10 Const wbemFlagForwardOnly = &h20 strComputer=(".") Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", _ wbemFlagReturnImmediately + wbemFlagForwardOnly) For Each objItem In colItems WScript.Echo "UserName: " & objItem.UserName next Pour le nom de l'OS Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", _ wbemFlagReturnImmediately + wbemFlagForwardOnly) For Each objItem In colItems WScript.Echo "OS : " & objItem.Caption Next Je fais un for each, mais normalement, tu n'as bien qu'un seul user, et qu'un seul OS qui sort :yaisse: Lien vers le commentaire Partager sur d’autres sites More sharing options...
classe-a Posté(e) le 5 octobre 2007 Auteur Partager Posté(e) le 5 octobre 2007 Bonjour Spaz001, Ce script crée d'abord un fichier texte et puis écrit à l'intérieur de celui-ci via la commande .writeLine On pourrait résumer le problème à "Comment insérer une variable Windows plusieurs fois à des endroits précis dans un fichier texte ?" Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
Spaz001 Posté(e) le 5 octobre 2007 Partager Posté(e) le 5 octobre 2007 Donc, tout bêtement, tu dois avoir quelque chose du style Set FSO = CreateObject("Scripting.FileSystemObject") Set File = FSO.CreateTextFile(File_TXT, True) With File .writeLine "Blabla" .writeLine "Blibli" End With File.Close() ou quelque cose qui s'en approche, sans le With peut être. Donc, pour tes variables, à l'endroit où tu as [...] .writeLine "Voici un résumé des caractéristiques de la machine" .writeLine "utilisateur : " .writeLine "système d'exploitation : " [...] tu mets [...] .writeLine "Voici un résumé des caractéristiques de la machine" Const wbemFlagReturnImmediately = &h10 Const wbemFlagForwardOnly = &h20 strComputer=(".") Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", _ wbemFlagReturnImmediately + wbemFlagForwardOnly) For Each objItem In colItems .writeLine "utilisateur : " & objItem.UserName next Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", _ wbemFlagReturnImmediately + wbemFlagForwardOnly) For Each objItem In colItems .writeLine "système d'exploitation : " & objItem.Caption Next [...] Voilà, je ne peux pas t'aider plus sans le code de ton script :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
classe-a Posté(e) le 5 octobre 2007 Auteur Partager Posté(e) le 5 octobre 2007 Oui, c'est exactement ce que j'ai fait. Seulement, j'étais loin de m'imaginer qu'en VBScript, incorporer une variable "système" prenait autant de lignes de code. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Spaz001 Posté(e) le 6 octobre 2007 Partager Posté(e) le 6 octobre 2007 Autant de lignes ? Y'a d'autres langages, c'est pire quand même 4 lignes d'init, et 4 lignes pour recuperer l'info, je trouve que ca va quand meme, surtout pour un "script". En VBScript, tu n'as (presque) rien en fonctions natives, tu seras tout le temps obligé de passer par des objets, donc faut les creer, et appeler leurs methodes. Il t'as bien fallu 2 lignes pour faire 1 fopen() Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.