Important Aide pour commenter le code

Plus d'informations
il y a 12 ans 4 mois #16282 par NabilGates
Bonjour tout le monde,
Voilà je suis débutant mais pire que ça

j'ai réussi avec beaucoup de recherche sur internet
a faire ce petit programme qui affiche quelques information notamment le numéro de série du poste.

J'aimerais le gardé de coter

Donc je vous sollicites aujourd'hui pour me commenté svp chaque ligne pour favorisé la compréhension du code et si on peux amélioré le code ça serais super

Merci d'avance et bonne journée tout le monde




$boucle=1
while ($boucle=1){
Clear-Host
$MaVariable = [String]
$ObjVbScript = new-object -comobject MSScriptControl.ScriptControl
$ObjVbScript.language = \"vbscript\"
#Afficher une fenêtre de saisie pour récupérer le tout dans une variable
$ObjVbScript.addcode(\"function getInput() getInput = inputbox(`\"Entrez une adresse IP`\",`\"Recherche de numero de serie`\",`\"127.0.0.1`\") end function\" )
$MaVariable = $ObjVbScript.eval(\"getInput\")
if ($MaVariable.Length -igt 0){
if ($message = (Get-WmiObject -Class Win32_BIOS -NameSpace \"root\CIMV2\" -Computer \"$MaVariable\" ).SerialNumber -igt 0){
$message = (Get-WmiObject -Class Win32_BIOS -NameSpace \"root\CIMV2\" -Computer \"$MaVariable\" ).SerialNumber
$nom=(gwmi -class win32_computerSystem -Computer \"$MaVariable\").username
}else{
$message = \" \"
$nom = \" \"
}
$shell = new-object -com wscript.shell
$shell.popup(\"Adresse IP :`t`t$MaVariable `rNuméro de série :`t`t$message `rGroup/NomSESSION :`t$nom\",\"0\",\"Recherche\",\"0\")
cls
write-host \"Adresse IP : $MaVariable\"
write-host \"Numéro de série : $message\"
write-host \"Nom : $nom\"

$message = \" \"
$nom = \" \"
}else{
exit
}
}

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 4 mois #16284 par Laurent Dardenne
Salut,
fais l'inverse, tu documentes et on te dis si on comprend tes commentaires.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 4 mois #16285 par NabilGates
Réponse de NabilGates sur le sujet Re:Aide pour commenter le code
Alors là !

mon niveau ce limite a un ping et ipconfig !

Mais !!

je vais comme même essayer car ce n'est pas vraiment moi qui a fais les commande j'ai juste fais de la déduction et du copier coller :p


#Déclaration d'une variable type INT
$boucle=1
# Je fais une boucle while qui refait la meme choses tant que $boucle=1
while ($boucle=1){
#J'éface l'ancien contenu a chaque nouveau tours
Clear-Host
#Je déclare une nouvelle variable de type String sans lui affecter une valeur
$MaVariable = [String]
#
$ObjVbScript = new-object -comobject MSScriptControl.ScriptControl
$ObjVbScript.language = \"vbscript\"
#Afficher une fenêtre de saisie pour récupérer le tout dans une variable
$ObjVbScript.addcode(\"function getInput() getInput = inputbox(`\"Entrez une adresse IP`\",`\"Recherche de numero de serie`\",`\"127.0.0.1`\") end function\" )
$MaVariable = $ObjVbScript.eval(\"getInput\")
if ($MaVariable.Length -igt 0){
if ($message = (Get-WmiObject -Class Win32_BIOS -NameSpace \"root\CIMV2\" -Computer \"$MaVariable\" ).SerialNumber -igt 0){
$message = (Get-WmiObject -Class Win32_BIOS -NameSpace \"root\CIMV2\" -Computer \"$MaVariable\" ).SerialNumber
$nom=(gwmi -class win32_computerSystem -Computer \"$MaVariable\").username
}else{
$message = \" \"
$nom = \" \"
}
$shell = new-object -com wscript.shell
$shell.popup(\"Adresse IP :`t`t$MaVariable `rNuméro de série :`t`t$message `rGroup/NomSESSION :`t$nom\",\"0\",\"Recherche\",\"0\")
#J'éfface la console
cls
# j'écris dans la console la valeur de MaVariable, message et nom
write-host \"Adresse IP : $MaVariable\"
write-host \"Numéro de série : $message\"
write-host \"Nom : $nom\"
#Je fait en sorte que message et nom ne contienne plus rien !
$message = \" \"
$nom = \" \"
}else{
#Si je clique sur annuler je quite le programme
exit
}
}<br><br>Message édité par: NabilGates, à: 5/11/13 16:09

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 4 mois #16286 par Laurent Dardenne
NabilGates écrit:

mon niveau ce limite a un ping et ipconfig !

Dans ce cas je ne vois pas en quoi les commentaires vont t'aider.
[code:1]#Déclaration d'une variable type INT[/code:1]
La lecture de la ligne porte déjà ton commentaire, par contre on ne sait pas à quoi sert ta variable.

Quant à son nom on ne sait si c'est un nombre d'itération ou une condition de sortie d'une boucle.

Enfin pour Clear-Host, l'appel suivant :
[code:1]Get-Help Clear-Host[/code:1]
Affiche la documentation du cmdlet Clear-Host, pas besoin de la recopier dans ton code.


Si tu recherches un outil ou mémoriser tes infos, regarde wikidpad .

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 4 mois #16287 par NabilGates
Réponse de NabilGates sur le sujet Re:Aide pour commenter le code
Enfaite comme je suis entrain je faire mon rapport de stage et parmi les taches que j'ai effectuer j'ai fait ce petit \&quot;\&quot; fait ce petit script pour permettre aux gars de trouvé le numéro de série de ses postes

Mais voilà je ne peux pas mettre ce script dans mon rapport si je suis capable de bien le commenter malgré que l'outil lui meme est fonctionnel

Voilà pourquoi javais besoin de votre aide

après si c'est pas possible c'est grave je fais un imprime écran de ce que fait le script

Merci comme meme pour votre disponibilité

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 4 mois #16288 par Philippe
Réponse de Philippe sur le sujet Re:Aide pour commenter le code
salut nabil

Meme remarque que laurent :
tu attend que l'on te dise a quoi sert chaque cmdlet et autre
ce n'est plus des commentaires mais une formation
les profs lise peut etre aussi ce forum !!!

utilise l'indentation ca va d'aidé a lire et comprendre

enfin voila un petit passage tres rapide de commentaire/correctif de ce code :

[code:1]# Déclaration d'une variable type INT
### et lui affecter la valeur 1
$boucle = 1

# Je fais une boucle while qui refait la meme choses tant que $boucle est egal à 1
### while ($boucle=1) ---&gt; ERREUR $boucle=1 n'est pas un test mais une affectation
### meme si le resultat est le meme, ici il faut faire ceci : while(1)
### ou mieux ca : while ($boucle -eq 1) et modifier plus loin le code en remplacent exit par $boucle = 0 (par exemple) ca permet d'enchainer par un autre code
while ($boucle -eq 1)
{

# J'éface l'ancien contenu a chaque nouveau tours
### identique a cls vu plus bas : efface la console
Clear-Host

# Je déclare une nouvelle variable de type String sans lui affecter une valeur
### totalement inutile ( enfin pour moi)
$MaVariable = [String]
### déclare une nouvelle variable de type object MSScriptControl.ScriptControl
$ObjVbScript = new-object -comobject MSScriptControl.ScriptControl
$ObjVbScript.language = \&quot;vbscript\&quot;

# Afficher une fenêtre de saisie pour récupérer le tout dans une variable
$ObjVbScript.addcode(\&quot;function getInput() getInput = inputbox(`\&quot;Entrez une adresse IP`\&quot;,`\&quot;Recherche de numero de serie`\&quot;,`\&quot;127.0.0.1`\&quot;«») end function\&quot; )
$MaVariable = $ObjVbScript.eval(\&quot;getInput\&quot;«»)
### test de la variable $MaVariable pour savoir si il y a eu une saisi (bonne ou mauvaise car il y a pas de test de validité de la saisie)
### si la valeur saisie est egal a zero on quitte la boucle
if ($MaVariable.Length -igt 0)
{
### test de la variable $message pour verifier si un numero de serie est renvoyer
### affecte dans la meme operation la variable $message du numero de serie via une requete WMI
### a eviter pour la lisibilité du code et aussi pour redondance de la ligne suivante
if ($message = (Get-WmiObject -Class Win32_BIOS -NameSpace \&quot;rootCIMV2\&quot; -Computer \&quot;$MaVariable\&quot; ).SerialNumber -igt 0)
{
$message = (Get-WmiObject -Class Win32_BIOS -NameSpace \&quot;rootCIMV2\&quot; -Computer \&quot;$MaVariable\&quot; ).SerialNumber
$nom=(gwmi -class win32_computerSystem -Computer \&quot;$MaVariable\&quot;«»).username
}
else
{
### pas de numero de serie, $message et $nom sont vidé
$message = \&quot; \&quot;
$nom = \&quot; \&quot;
}
### affichage des renseignements dans une fenetre
$shell = new-object -com wscript.shell
$shell.popup(\&quot;Adresse IP :`t`t$MaVariable `rNuméro de série :`t`t$message `rGroup/NomSESSION :`t$nom\&quot;,\&quot;0\&quot;,\&quot;Recherche\&quot;,\&quot;0\&quot;«»)

# J'éfface la console
### inutile, en double
### cls

# j'écris dans la console la valeur de $MaVariable, $message et $nom
write-host \&quot;Adresse IP : $MaVariable\&quot;
write-host \&quot;Numéro de série : $message\&quot;
write-host \&quot;Nom : $nom\&quot;

# Je fait en sorte que message et nom ne contienne plus rien !
### inutile
### $message = \&quot; \&quot;
### $nom = \&quot; \&quot;
}
else
{

# Si je clique sur annuler je quite le programme
### exit
### remplacer pour une sortie normal de la boucle while voir debut du code
$boucle = 0
}
}

[/code:1]<br><br>Message édité par: 6ratgus, à: 5/11/13 17:48

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.056 secondes
Propulsé par Kunena