96 lines
3.4 KiB
PowerShell
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 |