Powershell/Exemples/Finalisation.ps1
2023-07-04 12:59:44 +02:00

96 lines
3.4 KiB
PowerShell

[void][reflection.assembly]::loadwithpartialname("system.windows.forms")
Set-ExecutionPolicy Unrestricted
Clear-Host
write-host "Lancement du script"
write-host " "
# Fonction pour l'interface de saisie
Function ModeInstall() {
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
$objForm = New-Object System.Windows.Forms.Form
$objForm.Text = "Finalisation serveur"
$objForm.Size = New-Object System.Drawing.Size(500,300)
$objForm.StartPosition = "CenterScreen"
$objForm.KeyPreview = $True
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter")
{$ClusterInstall=$objListBoxCluster.SelectedItem;$objForm.hide()}})
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Escape")
{$objForm.hide()}})
$objForm.AcceptButton = $OKButton
$objForm.CancelButton = $CancelButton
$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(10,230)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = "OK"
$OKButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Size(200,230)
$CancelButton.Size = New-Object System.Drawing.Size(75,23)
$CancelButton.Text = "Cancel"
$CancelButton.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
$objLabel1 = New-Object System.Windows.Forms.Label
$objLabel1.Location = New-Object System.Drawing.Size(10,20)
$objLabel1.Size = New-Object System.Drawing.Size(280,20)
$objLabel1.Text = "Merci de la clé Windows 2016 pour finaliser le serveur"
$objLabel3 = New-Object System.Windows.Forms.Label
$objLabel3.Location = New-Object System.Drawing.Size(10,80)
$objLabel3.Size = New-Object System.Drawing.Size(280,20)
$objLabel3.Text = "clé : "
$objTextBoxKey = New-Object System.Windows.Forms.TextBox
$objTextBoxKey.Location = New-Object System.Drawing.Size(10,100)
$objTextBoxKey.Size = New-Object System.Drawing.Size(250,20)
$objTextBoxKey.text = "AAAAA-BBBBB-CCCCC-DDDDD-EEEEE"
$objForm.Controls.Add($objTextBoxKey)
$objForm.Controls.AddRange(@($OKButton,$CancelButton,$objLabel1,$objLabel2,$objLabel3,$objLabel4,$objListBoxServeur))
$objForm.Topmost = $True
$dialogResult = $objForm.ShowDialog()
if ($dialogResult -eq [System.Windows.Forms.DialogResult]::OK)
{
$Key = $objTextBoxKey.Text
#$InstallCRPCEN
$return = "$Key"
$return
}
$objForm.dispose()
} # End Function DriveList
write-host " *****************************************"
Write-host " "
write-host " *****************************************"
write-host " * Génération de l'interface"
write-host " *****************************************"
$ModeInstall = ModeInstall
write-host "- Données saisie ............................................... "
$Blocage = $False
write-host "- Validation des informations saisie ............................. "
if ($ModeInstall -ne $null) {
$ModeInstall | foreach { $ModeInstall = $_ -split ';'
$key = $ModeInstall[0]
} }
write-host $key
Dism /online /Set-Edition:ServerStandard /AcceptEula /ProductKey:$key
Restart-Computer