Important
Aide pour commenter le code
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 12 ans 4 mois #16289
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Aide pour commenter le code
Je pensais que tu voulais apprendre et pas juste faire...
NabilGates écrit:
Une autre version :
[code:1]
function CustomInputBox([string] $title, [string] $message, [string] $defaultText)
{
#Crée une fonction affichant une boîte de saisie
[void] [System.Reflection.Assembly]::LoadWithPartialName(\"System.Drawing\"«»)
[void] [System.Reflection.Assembly]::LoadWithPartialName(\"System.Windows.Forms\"«»)
$userForm = New-Object System.Windows.Forms.Form
$userForm.Text = \"$title\"
$userForm.Size = New-Object System.Drawing.Size(290,150)
$userForm.StartPosition = \"CenterScreen\"
$userForm.AutoSize = $False
$userForm.MinimizeBox = $False
$userForm.MaximizeBox = $False
$userForm.SizeGripStyle= \"Hide\"
$userForm.WindowState = \"Normal\"
$userForm.FormBorderStyle=\"Fixed3D\"
$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(115,80)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = \"OK\"
$OKButton.Add_Click({$value=$objTextBox.Text;$userForm.Close()})
$userForm.Controls.Add($OKButton)
$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Size(195,80)
$CancelButton.Size = New-Object System.Drawing.Size(75,23)
$CancelButton.Text = \"Cancel\"
$CancelButton.Add_Click({$value=[String]::Empty;$userForm.Close()})
$userForm.Controls.Add($CancelButton)
$userLabel = New-Object System.Windows.Forms.Label
$userLabel.Location = New-Object System.Drawing.Size(10,20)
$userLabel.Size = New-Object System.Drawing.Size(280,20)
$userLabel.Text = \"$message\"
$userForm.Controls.Add($userLabel)
$objTextBox = New-Object System.Windows.Forms.TextBox
$objTextBox.Location = New-Object System.Drawing.Size(10,40)
$objTextBox.Size = New-Object System.Drawing.Size(260,20)
$objTextBox.Text=\"$defaultText\"
$userForm.Controls.Add($objTextBox)
$userForm.Topmost = $True
$userForm.Opacity = 0.91
$userForm.ShowIcon = $False
$userForm.Add_Shown({$userForm.Activate()})
[void] $userForm.ShowDialog()
return $value
} #F° CustomInputBox
#Déclaration d'une variable type boolean
[boolean]$isExit=$true
# Boucle tant que $isExit est égale à $true
while ($isExit){
#J'efface la console à chaque iétération
Clear-Host
#Je déclare une nouvelle variable de type String et lui affecte une chaine vide
[String]$MaVariable =[string]::Empty
#Afficher une fenêtre de saisie afin de récupérer une adresse IP
$MaVariable = CustomInputBox \"Recherche de numero de serie\" \"Entrez une adresse IP\" \"127.0.0.1\"
#Si l'adresse IP n'est pas une chaine vide
if ($MaVariable.Length -igt 0)
{
#Recherche des informations système dans le référentiel WMI
$SerialNumber=(Get-WmiObject -Class Win32_BIOS -NameSpace \"root\CIMV2\" -Computer \"$MaVariable\"«»).SerialNumber
if ($SerialNumber -igt 0)
{
$message = $SerialNumber
$nom=(gwmi -class win32_computerSystem -Computer \"$MaVariable\"«»).username
}else
{
#Affecte au variable $Message et $Nom une chaine vide.
$message =[string]::Empty
$nom = [string]::Empty
}
#Crée un Objet COM du type 'wscript.shell'
$shell = new-object -comobject wscript.shell
#affiche le résultat dans une fenêtre de dialogue.
$shell.popup(\"Adresse IP :`t`t$MaVariable `rNuméro de série :`t`t$message `rGroup/NomSESSION :`t$nom\",\"0\",\"Recherche\",\"0\"«»)
#J'efface la console
Clear-Host
# J'écris sur la console les valeurs de MaVariable, Message et Nom
write-host \"Adresse IP : $MaVariable\"
write-host \"Numéro de série : $message\"
write-host \"Nom : $nom\"
#Affecte au variable $Message et $Nom une chaine vide.
$message =[string]::Empty
$nom = [string]::Empty
}
else
{
#L'adresse IP est une chaine vide, je quitte la boucle
$isExit=$false
}
}
#Je quitte le script.
#exit
[/code:1]
Pense à décommenter la dernière ligne
NabilGates écrit:
Sur mon poste (Seven 64) il ne fonctionne pas, comme indiqué ici je pense.l'outil lui meme est fonctionnel
Une autre version :
[code:1]
function CustomInputBox([string] $title, [string] $message, [string] $defaultText)
{
#Crée une fonction affichant une boîte de saisie
[void] [System.Reflection.Assembly]::LoadWithPartialName(\"System.Drawing\"«»)
[void] [System.Reflection.Assembly]::LoadWithPartialName(\"System.Windows.Forms\"«»)
$userForm = New-Object System.Windows.Forms.Form
$userForm.Text = \"$title\"
$userForm.Size = New-Object System.Drawing.Size(290,150)
$userForm.StartPosition = \"CenterScreen\"
$userForm.AutoSize = $False
$userForm.MinimizeBox = $False
$userForm.MaximizeBox = $False
$userForm.SizeGripStyle= \"Hide\"
$userForm.WindowState = \"Normal\"
$userForm.FormBorderStyle=\"Fixed3D\"
$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(115,80)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = \"OK\"
$OKButton.Add_Click({$value=$objTextBox.Text;$userForm.Close()})
$userForm.Controls.Add($OKButton)
$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Size(195,80)
$CancelButton.Size = New-Object System.Drawing.Size(75,23)
$CancelButton.Text = \"Cancel\"
$CancelButton.Add_Click({$value=[String]::Empty;$userForm.Close()})
$userForm.Controls.Add($CancelButton)
$userLabel = New-Object System.Windows.Forms.Label
$userLabel.Location = New-Object System.Drawing.Size(10,20)
$userLabel.Size = New-Object System.Drawing.Size(280,20)
$userLabel.Text = \"$message\"
$userForm.Controls.Add($userLabel)
$objTextBox = New-Object System.Windows.Forms.TextBox
$objTextBox.Location = New-Object System.Drawing.Size(10,40)
$objTextBox.Size = New-Object System.Drawing.Size(260,20)
$objTextBox.Text=\"$defaultText\"
$userForm.Controls.Add($objTextBox)
$userForm.Topmost = $True
$userForm.Opacity = 0.91
$userForm.ShowIcon = $False
$userForm.Add_Shown({$userForm.Activate()})
[void] $userForm.ShowDialog()
return $value
} #F° CustomInputBox
#Déclaration d'une variable type boolean
[boolean]$isExit=$true
# Boucle tant que $isExit est égale à $true
while ($isExit){
#J'efface la console à chaque iétération
Clear-Host
#Je déclare une nouvelle variable de type String et lui affecte une chaine vide
[String]$MaVariable =[string]::Empty
#Afficher une fenêtre de saisie afin de récupérer une adresse IP
$MaVariable = CustomInputBox \"Recherche de numero de serie\" \"Entrez une adresse IP\" \"127.0.0.1\"
#Si l'adresse IP n'est pas une chaine vide
if ($MaVariable.Length -igt 0)
{
#Recherche des informations système dans le référentiel WMI
$SerialNumber=(Get-WmiObject -Class Win32_BIOS -NameSpace \"root\CIMV2\" -Computer \"$MaVariable\"«»).SerialNumber
if ($SerialNumber -igt 0)
{
$message = $SerialNumber
$nom=(gwmi -class win32_computerSystem -Computer \"$MaVariable\"«»).username
}else
{
#Affecte au variable $Message et $Nom une chaine vide.
$message =[string]::Empty
$nom = [string]::Empty
}
#Crée un Objet COM du type 'wscript.shell'
$shell = new-object -comobject wscript.shell
#affiche le résultat dans une fenêtre de dialogue.
$shell.popup(\"Adresse IP :`t`t$MaVariable `rNuméro de série :`t`t$message `rGroup/NomSESSION :`t$nom\",\"0\",\"Recherche\",\"0\"«»)
#J'efface la console
Clear-Host
# J'écris sur la console les valeurs de MaVariable, Message et Nom
write-host \"Adresse IP : $MaVariable\"
write-host \"Numéro de série : $message\"
write-host \"Nom : $nom\"
#Affecte au variable $Message et $Nom une chaine vide.
$message =[string]::Empty
$nom = [string]::Empty
}
else
{
#L'adresse IP est une chaine vide, je quitte la boucle
$isExit=$false
}
}
#Je quitte le script.
#exit
[/code:1]
Pense à décommenter la dernière ligne
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- NabilGates
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 12 ans 4 mois #16290
par NabilGates
Réponse de NabilGates sur le sujet Re:Aide pour commenter le code
Merci beaucoup je m'attendais pas du tout a cette réaction
Merci encore
Le powershell c'est une autre façon de voir les choses je reviendrais plus souvent et cette fois je commence par les tutoriaux
Merci encore
Le powershell c'est une autre façon de voir les choses je reviendrais plus souvent et cette fois je commence par les tutoriaux
Connexion ou Créer un compte pour participer à la conversation.
- NabilGates
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 12 ans 4 mois #16291
par NabilGates
Réponse de NabilGates sur le sujet Re:Aide pour commenter le code
Je viens de faire ça 
ps1 to exe
ps2exe.codeplex.com/releases/view/103172
J'ai téléchargé PS2EXE v0.4
Que j'ai décompressé dans le e:\labo\
En suite j'ai mis le script qui cherche le numéro de série ici nommé a.ps1
Et j'ai lancé cette commande
e:\labo\ps2exe.ps1 -InputFile \"e:\labo\a.ps1\" -OutputFile \"e:\labo\MyOwnScript_STA_noconsole-X86.exe\" -x86 -sta -noconsole -runtime20
Résultat final un exécutable
ps1 to exe
ps1 to exe
ps2exe.codeplex.com/releases/view/103172
J'ai téléchargé PS2EXE v0.4
Que j'ai décompressé dans le e:\labo\
En suite j'ai mis le script qui cherche le numéro de série ici nommé a.ps1
Et j'ai lancé cette commande
e:\labo\ps2exe.ps1 -InputFile \"e:\labo\a.ps1\" -OutputFile \"e:\labo\MyOwnScript_STA_noconsole-X86.exe\" -x86 -sta -noconsole -runtime20
Résultat final un exécutable
ps1 to exe
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 12 ans 4 mois #16292
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Aide pour commenter le code
NabilGates écrit:
Essaie sur une machine où Powershell n'est pas installé, comme ça, pour voir.Résultat final un exécutable
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- NabilGates
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 12 ans 4 mois #16293
par NabilGates
Réponse de NabilGates sur le sujet Re:Aide pour commenter le code
Il seras executer depuis le meme poste a chaques fois et y a powershell
Si non je sais sais que ce n'est pas un exe
Mais le plus important c'est que l'utilisateur ne seras pas obligé d'ouvre un logiciel pour juste une histoire d'IP
La l'IHM est respecté
Merci pour tout il vas tourné ce site déjà rien ce soir j'ai envoyé a 21personnes
Si non je sais sais que ce n'est pas un exe
Mais le plus important c'est que l'utilisateur ne seras pas obligé d'ouvre un logiciel pour juste une histoire d'IP
La l'IHM est respecté
Merci pour tout il vas tourné ce site déjà rien ce soir j'ai envoyé a 21personnes
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 12 ans 4 mois #16294
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Aide pour commenter le code
Bonne chance avec ton rapport de stage.
A+
A+
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.052 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Aide pour commenter le code