Formulaire de création de rentrer DNS en PowerShell
De Travail-Ivan 2
Formulaire de création de rentrer DNS en PowerShell
using namespace system.windows.forms
using namespace system.drawing
[system.reflection.assembly]::loadwithpartialname("system.windows.forms") | out-null
$form = new-object Form
$lbl1 = new-object Label
$lbl2 = new-object Label
$txt1 = new-object TextBox
$txt2 = new-object TextBox
$btn_ok = new-object button
$lbl1.text = "Hostname"
$lbl2.text = "IPAddress"
$btn_ok.text = "OK"
$lbl1.size = [size]::new(100, 20)
$lbl2.size = [size]::new(100, 20)
$txt1.size = [size]::new(100, 20)
$txt2.size = [size]::new(100, 20)
$btn_ok.size = [size]::new( 70, 20)
$lbl1.location = [point]::new( 25, 25)
$lbl2.location = [point]::new( 25, 50)
$txt1.location = [point]::new(150, 25)
$txt2.location = [point]::new(150, 50)
$btn_ok.location = [point]::new( 25,120)
$btn_ok.BackColor = [color]::GreenYellow
$form.controls.add($lbl1)
$form.controls.add($lbl2)
$form.controls.add($txt1)
$form.controls.add($txt2)
$form.controls.add($btn_ok)
$btn_ok.add_click({
$name = $txt1.get_text()
$ip = $txt2.get_text()
Add-DnsServerResourceRecordA -ZoneName $env:USERDNSDOMAIN -name $name -IPv4Address $ip
$txt1.text = ""
$txt2.text = ""
})
$form.showdialog()
Explication des éléments du script
- Namespaces:
using namespace System.Windows.Forms: Permet d'utiliser les classes du namespaceSystem.Windows.Forms, qui contiennent des éléments pour créer des interfaces graphiques.using namespace System.Drawing: Permet d'utiliser des classes pour la gestion des graphiques et des couleurs.
- Chargement de l'assembly:
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null: Charge l'assembly nécessaire pour utiliser Windows Forms.
- Création des éléments de l'interface:
$form = New-Object Form: Crée une nouvelle fenêtre (formulaire).$lbl1,$lbl2,$txt1,$txt2,$btn_ok: Crée des éléments d'interface (labels, textboxes et bouton).
- Propriétés des éléments:
- Texte: Définit le texte des labels et du bouton.
- Taille: Définit la taille des éléments.
- Position: Définit la position des éléments dans la fenêtre.
- Couleur de fond: Définit la couleur de fond du bouton.
- Ajout des contrôles au formulaire:
- Les éléments sont ajoutés au formulaire avec
Add().
- Les éléments sont ajoutés au formulaire avec
- Gestion de l'événement de clic:
$btn_ok.Add_Click({ ... }): Définit ce qui se passe lorsque le bouton "OK" est cliqué.- Récupère le texte des zones de texte pour le nom d'hôte et l'adresse IP.
- Exécute la commande
Add-DnsServerResourceRecordApour ajouter un enregistrement A dans le serveur DNS spécifié par le domaine. - Efface les champs de texte après l'ajout.
- Affichage du formulaire:
$form.ShowDialog(): Affiche le formulaire comme une boîte de dialogue modale, bloquant l'interaction avec la fenêtre principale jusqu'à ce que le formulaire soit fermé.