Link to home
Start Free TrialLog in
Avatar of Robert-Prodigy
Robert-ProdigyFlag for Israel

asked on

Server 2012 Activate Issue

Hello,
We have a Virtual Server with Server 2012 Standard Evaluation , This Server is a FS and Domain Controller.
I tried to activate this server with our serial number but i cant and i getting this error (Attached Print Screen).

What is the solution to activate this server ? I have 30 days for this evalution server.

Please Assist,
Osher
Frodo.JPG
Avatar of Cliff Galiher
Cliff Galiher
Flag of United States of America image

This happens if you try to activate an OS installed as Standard Edition (a multiple choice list given during the initial install) with a Datacenter edition key. Or vice versa. For any server with the ADDS role installed and configured, it the edition of the key *must* match the choice made during install. There is no way around it. If you don't have a matching key, you must remove the ADDS role or reinstall the server with the correct edition.
ASKER CERTIFIED SOLUTION
Avatar of Neil Russell
Neil Russell
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Robert-Prodigy

ASKER

Hi Cliff Galiher,
I have standard edition key and i can't activate with the error about this server is domain controller.
what we can do ?

Thanks,
Osher.
My answer remains unchanged. I don't k ow how to make it any clearer.
As Cliff says, you have it would seem installed from the DVD a choice OTHER THAN Standard. Now you try to activate it, it will not as your Key does not match the selection installed.
Avatar of BMarden
BMarden

Also you cannot use a Server 2012R2 key to activate Server 2012 regardless of edition.

BM
6.2.9200 is Server 2012, If you installed the datacenter version you can use this script to change the version. But first you have to demote that server. Spin up another VM and make it the DC if needed temporarily.

Change-ServerVersion.ps1
Function Show-BoxSelection{
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") 
$objForm = New-Object System.Windows.Forms.Form 
$objForm.Text = "Select SKU Upgrade"
$objForm.Size = New-Object System.Drawing.Size(600,200) 
$objForm.StartPosition = "CenterScreen"
$objForm.KeyPreview = $True
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter") 
    {$x=$objListBox.SelectedItem;$objForm.Close()}})
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Escape") 
    {$objForm.Close()}})

$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(200,133)
$OKButton.Size = New-Object System.Drawing.Size(75,25)
$OKButton.Text = "OK"
$OKButton.Add_Click({$objListBox.SelectedItem;$objForm.Close()})
$objForm.Controls.Add($OKButton)

$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Size(300,133)
$CancelButton.Size = New-Object System.Drawing.Size(75,25)
$CancelButton.Text = "Cancel"
$CancelButton.Add_Click({[environment]::exit(0);$objForm.Close()})
$objForm.Controls.Add($CancelButton)

$objLabel = New-Object System.Windows.Forms.Label
$objLabel.Location = New-Object System.Drawing.Size(10,20) 
$objLabel.Size = New-Object System.Drawing.Size(400,20) 
$objLabel.Text = "Current SKU: " + [String]$CurrentWinCaption.Caption
$objForm.Controls.Add($objLabel) 

$objLabel2 = New-Object System.Windows.Forms.Label
$objLabel2.Location = New-Object System.Drawing.Size(10,40) 
$objLabel2.Size = New-Object System.Drawing.Size(400,20) 
$objLabel2.Text = "Select SKU Upgrade: "
$objForm.Controls.Add($objLabel2) 

$objListBox = New-Object System.Windows.Forms.ListBox 
$objListBox.Location = New-Object System.Drawing.Size(10,60) 
$objListBox.Size = New-Object System.Drawing.Size(560,40) 
$objListBox.Height = 80

If($UpgradeSelection01 -ne "NA"){[void] $objListBox.Items.Add($UpgradeSelection01)}
If($UpgradeSelection02 -ne "NA"){[void] $objListBox.Items.Add($UpgradeSelection02)}

$objForm.Controls.Add($objListBox) 

$objForm.Topmost = $True

$objForm.Add_Shown({$objForm.Activate()})
[void] $objForm.ShowDialog()
}
Function Show-BoxResult{
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") 

$objForm = New-Object System.Windows.Forms.Form 
$objForm.Text = "Select SKU Upgrade"
$objForm.Size = New-Object System.Drawing.Size(600,200) 
$objForm.StartPosition = "CenterScreen"

$objForm.KeyPreview = $True
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter") 
    {$x=$objListBox.SelectedItem;$objForm.Close()}})
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Escape") 
    {$objForm.Close()}})

$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(200,133)
$OKButton.Size = New-Object System.Drawing.Size(75,25)
$OKButton.Text = "OK"
$OKButton.Add_Click({$objListBox.SelectedItem;$objForm.Close()})
$objForm.Controls.Add($OKButton)

$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Size(300,133)
$CancelButton.Size = New-Object System.Drawing.Size(75,25)
$CancelButton.Text = "Cancel"
$CancelButton.Add_Click({[environment]::exit(0);$objForm.Close()})
$objForm.Controls.Add($CancelButton)

$objLabel = New-Object System.Windows.Forms.Label
$objLabel.Location = New-Object System.Drawing.Size(10,20) 
$objLabel.Size = New-Object System.Drawing.Size(400,20) 
$objLabel.Text = "Current SKU: " + [String]$CurrentWinCaption.Caption
$objForm.Controls.Add($objLabel) 

$objLabel2 = New-Object System.Windows.Forms.Label
$objLabel2.Location = New-Object System.Drawing.Size(10,40) 
$objLabel2.Size = New-Object System.Drawing.Size(400,20) 
$objLabel2.Text = "Selected SKU: $X"
$objForm.Controls.Add($objLabel2)

$objLabel3 = New-Object System.Windows.Forms.Label
$objLabel3.Location = New-Object System.Drawing.Size(10,60) 
$objLabel3.Size = New-Object System.Drawing.Size(600,40) 
$objLabel3.Text = "Command to run: $CMD"
$objForm.Controls.Add($objLabel3) 

$objForm.Add_Shown({$objForm.Activate()})
[void] $objForm.ShowDialog()
}
Function Show-BoxReboot{
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") 

$objForm = New-Object System.Windows.Forms.Form 
$objForm.Text = "Select SKU Upgrade"
$objForm.Size = New-Object System.Drawing.Size(600,200) 
$objForm.StartPosition = "CenterScreen"

$objForm.KeyPreview = $True
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter") 
    {$x=$objListBox.SelectedItem;$objForm.Close()}})
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Escape") 
    {$objForm.Close()}})

$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(200,133)
$OKButton.Size = New-Object System.Drawing.Size(75,25)
$OKButton.Text = "OK"
$OKButton.Add_Click({Restart-Computer -Force;$objForm.Close()})
$objForm.Controls.Add($OKButton)

$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Size(300,133)
$CancelButton.Size = New-Object System.Drawing.Size(75,25)
$CancelButton.Text = "Cancel"
$CancelButton.Add_Click({[environment]::exit(0);$objForm.Close()})
$objForm.Controls.Add($CancelButton)

$objLabel = New-Object System.Windows.Forms.Label
$objLabel.Location = New-Object System.Drawing.Size(10,20) 
$objLabel.Size = New-Object System.Drawing.Size(400,20) 
$objLabel.Text = "You need to reboot the server"
$objForm.Controls.Add($objLabel) 

$objForm.Add_Shown({$objForm.Activate()})
[void] $objForm.ShowDialog()
}
Function Inventory-Computer{
    $CurrentWinCaption = Get-WmiObject -Class Win32_OperatingSystem
    #Write-Output $CurrentWinCaption.Caption
    Switch ($CurrentWinCaption.Caption){
        'Microsoft Windows Server 2008 R2 Standard '{
            Write-Verbose [String]$CurrentWinCaption.Caption
            $UpgradeSelection01 = "Microsoft Windows Server 2008 R2 Enterprise"
            $UpgradeSelection02 = "Microsoft Windows Server 2008 R2 Datacenter"
            }
        'Microsoft Windows Server 2008 R2 Enterprise '{
            Write-Verbose $CurrentWinCaption.Caption
            $UpgradeSelection01 = "Microsoft Windows Server 2008 R2 Datacenter"
            $UpgradeSelection02 = "NA"
            }
        'Microsoft Windows Server 2008 R2 Datacenter '{
            Write-Verbose $CurrentWinCaption.Caption
            $UpgradeSelection01 = "Unable to upgrade current edition"
            $UpgradeSelection02 = "NA"
            }
        'Microsoft Windows Server 2012 Standard'{
            Write-Verbose $CurrentWinCaption.Caption
            $UpgradeSelection01 = "Microsoft Windows Server 2012 Datacenter"
            $UpgradeSelection02 = "NA"
            }
        'Microsoft Windows Server 2012 Standard Evaluation'{
            Write-Verbose $CurrentWinCaption.Caption
            $UpgradeSelection01 = "Microsoft Windows Server 2012 Standard"
            $UpgradeSelection02 = "Microsoft Windows Server 2012 Datacenter"
            }
        'Microsoft Windows Server 2012 Datacenter Evaluation'{
            Write-Verbose $CurrentWinCaption.Caption
            $UpgradeSelection01 = "Microsoft Windows Server 2012 Datacenter"
            $UpgradeSelection02 = "NA"
            }
        'Microsoft Windows Server 2012 Datacenter'{
            Write-Verbose $CurrentWinCaption.Caption
            $UpgradeSelection01 = "Unable to upgrade current edition"
            $UpgradeSelection02 = "NA"
            }
        'Microsoft Windows Server 2012 R2 Standard'{
            Write-Verbose $CurrentWinCaption.Caption
            $UpgradeSelection01 = "Microsoft Windows Server 2012 R2 Datacenter"
            $UpgradeSelection02 = "NA"
            }
        'Microsoft Windows Server 2012 R2 Standard Evaluation'{
            Write-Verbose $CurrentWinCaption.Caption
            $UpgradeSelection01 = "Microsoft Windows Server 2012 R2 Standard"
            $UpgradeSelection02 = "Microsoft Windows Server 2012 R2 Datacenter"
            }
        'Microsoft Windows Server 2012 R2 Datacenter Evaluation'{
            Write-Verbose $CurrentWinCaption.Caption
            $UpgradeSelection01 = "Upgrade to Microsoft Windows Server 2012 R2 Datacenter"
            $UpgradeSelection02 = "NA"
            }
        'Microsoft Windows Server 2012 R2 Datacenter'{
            Write-Verbose $CurrentWinCaption.Caption
            $UpgradeSelection01 = "Unable to upgrade current edition"
            $UpgradeSelection02 = "NA"
            }
        Default{
            Write-Verbose "Unable to upgrade"
            $UpgradeSelection01 = "Unable To Upgrade"
            $UpgradeSelection02 = "NA"
            }
        }
}
Function Upgrade-SKU{
    #$CurrentWindowsEdition = [String]$CurrentWinCaption.Caption
    Switch ($CurrentWinCaption.Caption){
        'Microsoft Windows Server 2008 R2 Standard '{
            Write-Verbose [String]$CurrentWinCaption.Caption
            if ($x -eq 'Microsoft Windows Server 2008 R2 Enterprise'){
                $UpgradeToWinEditionPID = "489J6-VHDMP-X63PK-3K798-CPX3Y"
				$CMD = "DISM.exe /Online /Set-Edition:ServerEnterprise /ProductKey:$UpgradeToWinEditionPID /AcceptEula /NoRestart"
                }
            if ($x -eq 'Microsoft Windows Server 2008 R2 Datacenter'){
                $UpgradeToWinEditionPID = "74YFP-3QFB3-KQT8W-PMXWJ-7M648"
				$CMD = "DISM.exe /Online /Set-Edition:ServerDataCenter /ProductKey:$UpgradeToWinEditionPID /AcceptEula /NoRestart"
                }
            }
        'Microsoft Windows Server 2008 R2 Enterprise '{
            Write-Verbose $CurrentWinCaption.Caption
            if ($x -eq 'Microsoft Windows Server 2008 R2 Datacenter'){
                $UpgradeToWinEditionPID = "74YFP-3QFB3-KQT8W-PMXWJ-7M648"
				$CMD = "DISM.exe /Online /Set-Edition:ServerDataCenter /ProductKey:$UpgradeToWinEditionPID /AcceptEula /NoRestart"
                }
            }
        'Microsoft Windows Server 2008 R2 Datacenter '{
            Write-Verbose $CurrentWinCaption.Caption
            }
        'Microsoft Windows Server 2012 Standard'{
            Write-Verbose $CurrentWinCaption.Caption
            if ($x -eq 'Microsoft Windows Server 2012 Datacenter'){
				$UpgradeToWinEditionPID = "48HP8-DN98B-MYWDG-T2DCC-8W83P"
				$CMD = "DISM.exe /Online /Set-Edition:ServerDataCenter /ProductKey:$UpgradeToWinEditionPID /AcceptEula /NoRestart"
                }
            }
        'Microsoft Windows Server 2012 Standard Evaluation'{
            Write-Verbose $CurrentWinCaption.Caption
            if ($x -eq 'Microsoft Windows Server 2012 Standard'){
				$UpgradeToWinEditionPID = "XC9B7-NBPP2-83J2H-RHMBY-92BT4"
				$CMD = "DISM.exe /Online /Set-Edition:ServerStandard /ProductKey:$UpgradeToWinEditionPID /AcceptEula /NoRestart"
                }
            if ($x -eq 'Microsoft Windows Server 2012 Datacenter'){
				$UpgradeToWinEditionPID = "48HP8-DN98B-MYWDG-T2DCC-8W83P"
				$CMD = "DISM.exe /Online /Set-Edition:ServerDataCenter /ProductKey:$UpgradeToWinEditionPID /AcceptEula /NoRestart"
                }
            }
        'Microsoft Windows Server 2012 Datacenter Evaluation'{
            Write-Verbose $CurrentWinCaption.Caption
            if ($x -eq 'Microsoft Windows Server 2012 Datacenter'){
				$UpgradeToWinEditionPID = "48HP8-DN98B-MYWDG-T2DCC-8W83P"
				$CMD = "DISM.exe /Online /Set-Edition:ServerDataCenter /ProductKey:$UpgradeToWinEditionPID /AcceptEula /NoRestart"
                }
            }
        'Microsoft Windows Server 2012 Datacenter'{
            Write-Verbose $CurrentWinCaption.Caption
            }
        'Microsoft Windows Server 2012 R2 Standard'{
            Write-Verbose $CurrentWinCaption.Caption
            if ($x -eq 'Microsoft Windows Server 2012 R2 Datacenter'){
				$UpgradeToWinEditionPID = "W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9"
				$CMD = "DISM.exe /Online /Set-Edition:ServerDataCenter /ProductKey:$UpgradeToWinEditionPID /AcceptEula /NoRestart"
                }
            }
        'Microsoft Windows Server 2012 R2 Standard Evaluation'{
            Write-Verbose $CurrentWinCaption.Caption
            if ($x -eq 'Microsoft Windows Server 2012 R2 Standard'){
				$UpgradeToWinEditionPID = "D2N9P-3P6X9-2R39C-7RTCD-MDVJX"
				$CMD = "DISM.exe /Online /Set-Edition:ServerStandard /ProductKey:$UpgradeToWinEditionPID /AcceptEula /NoRestart"
                }
            if ($x -eq 'Microsoft Windows Server 2012 R2 Datacenter'){
				$UpgradeToWinEditionPID = "W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9"
				$CMD = "DISM.exe /Online /Set-Edition:ServerDataCenter /ProductKey:$UpgradeToWinEditionPID /AcceptEula /NoRestart"
                }
            }
        'Microsoft Windows Server 2012 R2 Datacenter Evaluation'{
            Write-Verbose $CurrentWinCaption.Caption
            if ($x -eq 'Microsoft Windows Server 2012 R2 Datacenter'){
				$UpgradeToWinEditionPID = "W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9"
				$CMD = "DISM.exe /Online /Set-Edition:ServerDataCenter /ProductKey:$UpgradeToWinEditionPID /AcceptEula /NoRestart"
                }
            }
        'Microsoft Windows Server 2012 R2 Datacenter'{
            Write-Verbose $CurrentWinCaption.Caption
            }
        Default {
            Write-Verbose "Unable to upgrade."
            }
        }
}

#Set retunr from forms to Zero
$x = ""
$CMD = ""
# Get a grip of reality
. Inventory-Computer
#Show the options
. Show-BoxSelection
#Set the return value to $X
$X = $objListBox.SelectedItem
#Find out what actully is being done here
. Upgrade-SKU
#Show the result of the selection and the command that will run
. Show-BoxResult
#Execute Upgrade
If($CMD -ne ""){
    cmd.exe /c $CMD
}
#Hold it for a sec...
if ($LastExitCode -eq '3010'){
    Write-Output "Reboot nedeed"
    . Show-BoxReboot
    }
Start-Sleep 5

Open in new window

http://www.deploymentbunny.com
David Johnson, CD, MVP Hi,
This is not DataCenter version , this is a standard version.
About spin up another VM - this is not the only DC on our network.

how to make it easy and fast ? :)

Thanks !
from server manager remove role ADDS, it will come up and say you must run dcpromo to remove this as a domain controller before removal.. You will then enter the new administrators password and reboot. Login as the administrator, open an elevated command prompt.
slmgr.vbs -ipk <typeinyourproductkey>
slmgr.vbs -ato

Server Manager will want you to run dcpromo to promote this computer to a domain controller. Since it didn't remove the DC components from before.
Hello all, our main issue is that we have production exchange server installed on the server, and the server is not activate ! demote the server is not an option,  any other ideas how to activate the server without reinstall it?

Best regards,