Remote into your workgroup Windows 2012 Core server with Powershell
PS101 ...
In the corner of my basement is a media server running Windows 2012 core. I never have to log into it, I never have to update it, I never have to do much with it. The server simply runs, which is the whole point of core right? Unfortunately there was another thing that I thought I never had to maintain ... backup (which happens to be something else my server does). That's supposed to work automatically with no human intervention right? And for some reason the backup drives aren't being detected. Ugh, now I have to shut it down and connect monitors and stuff and fix it. Life is so hard in Mike's first world basement.
This presented another dilemma. How does one remote into a server with powershell to run the shutdown command? (No domain so shutdown /m \\SERVER doesn't work). Sure, I could just hit the power button but that's not proper. Plus, remoting in with powershell is pretty damn easy, as most everything in powershell is.
1. Make sure you trust your server. Run this to add it to your trusted hosts.
Set-Item wsman:\localhost\Client\TrustedHosts SERVERNAME -Concatenate -Force
If you don't trust the server you'll get an error like this.
Connecting to remote server SERVER failed with the following error message : The client
cannot connect to the destination specified in the request. Verify that the service on the destination is running and
is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination,
most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to
analyze and configure the WinRM service: "winrm quickconfig". For more information, see the
about_Remote_Troubleshooting Help topic.
2. Now you can remote in, but wait, you're in a workgroup so it's not going to just let you in willy nilly. But you can pass it your credentials easy enough.
Enter-PSSession -ComputerName SERVERNAME -Credential "SERVER\USER"
3. It will ask you for your password. Once in you can shutdown the server with the following command.
shutdown /t 0 /f /s
/t 0 = shutdown immediately.
/f = force
/s = shutdown. You can use /r to reboot instead of shutdown
4. I like to run a ping -t to watch for it to go down as well.
ping X.X.X.X -t or ping servername -t
How to fix: SCVMM 2012 The remote computer could not authenticated due to problems with its security certificate
Getting this error in your System Center Virtual Machine Manager (SCVMM) 2012 console?
This is because the certificate for the host the VM resides on is not trusted. All you have to do is install the certificate into your trusted root on the machine you are connecting from and the connection will work. Here's how.
1. When you get the error, click on view certificate then install.
2. Choose local machine and then make sure to install into your Trust Root Certificate Authorites.
3. Now just reconnect to the console and it should work.
If you have multiple hosts in a cluster or stand alone , you will need to do this for each host you connect to.
Finally … MCP
After 13 years of working IT I finally took a Microsoft cert exam. I took the 70-410 (installing and configuring windows server 2012) today and passed with 984/1000. I heard they are easy when they first come out, which I thought it was. So if you have a hankering go do it. I did this on a weekend of hardcore studying.
Remove unwanted features in Windows Server 2012
Here is my horribly long powershell command to remove a bunch of unwanted features from Windows Server 2012. This saved 1.8GB of disk space. Why is under 2GB of disk space signifcant in today's world? Well, without talking about SSDs multiply that by a 100 VHDs and you save 180GB. That's significant on expensive SAN storage.This removes a LOT features but you can get them all back, in fact they should even download from windows update.
All of AD is removed.
DNS, DHCP, Fax
Update services
Backup
Remote Desktop services
If you want to know a full list check out this post.
Remove-WindowsFeature AD-Certificate,AD-Domain-Services,AD-Federation-Services,ADLDS,ADRMS,DHCP,DNS,Fax,Hyper-V,NPAS,Print-Services,RemoteAccess,Remote-Desktop-Services,VolumeActivation,WDS,UpdateServices,BitLocker,BitLocker-NetworkUnlock,BranchCache,NFS-Client,Data-Center-Bridging,EnhancedStorage,GPMC,InkAndHandwritingServices,Internet-Print-Client,IPAM,ISNS,LPR-Port-Monitor,ManagementOdata,Server-Media-Foundation,MSMQ,NLB,PNRP,qWave,CMAK,Remote-Assistance,RDC,RSAT,RPC-over-HTTP-Proxy,Simple-TCPIP,SMTP-Server,SNMP-Service,Subsystem-UNIX-Apps,Telnet-Client,Telnet-Server,TFTP-Client,Biometric-Framework,WFF,Windows-Identity-Foundation,Windows-Internal-Database,WAS,Windows-Server-Backup,Migration,WindowsStorageManagementService,WSRM,Windows-TIFF-IFilter,WinRM-IIS-Ext,WINS,Wireless-Networking,XPS-Viewer -Remove
The big list of Windows Features in Server 2012
In an effort to create a tiny sysprepped Windows 2012 VHD I wanted to uninstall all the roles I know I won't be using. (And even if I do need them they are easy to put back.) Tiny VHD's equal less disk space and much faster VM builds. First thing I wanted was a simple list of all the Windows Features installed. Easy enough, just run get-windowsfeatures from powershell and it spits out a nice list, output that to text and you're good to go. I'll save you the 30 seconds though and list them here.
Next I'm going to work on a script to remove these.
Get-windowsfeature |ft -auto > c:\winfeatures.txt
Display Name Name
------------ ----
[ ] Active Directory Certificate Services AD-Certificate
[ ] Certification Authority ADCS-Cert-Authority
[ ] Certificate Enrollment Policy Web Service ADCS-Enroll-Web-Pol
[ ] Certificate Enrollment Web Service ADCS-Enroll-Web-Svc
[ ] Certification Authority Web Enrollment ADCS-Web-Enrollment
[ ] Network Device Enrollment Service ADCS-Device-Enrollment
[ ] Online Responder ADCS-Online-Cert
[ ] Active Directory Domain Services AD-Domain-Services
[ ] Active Directory Federation Services AD-Federation-Services
[ ] Federation Service ADFS-Federation
[ ] AD FS 1.1 Web Agents ADFS-Web-Agents
[ ] AD FS 1.1 Claims-aware Agent ADFS-Claims
[ ] AD FS 1.1 Windows Token-based Agent ADFS-Windows-Token
[ ] Federation Service Proxy ADFS-Proxy
[ ] Active Directory Lightweight Directory Services ADLDS
[ ] Active Directory Rights Management Services ADRMS
[ ] Active Directory Rights Management Server ADRMS-Server
[ ] Identity Federation Support ADRMS-Identity
[ ] Application Server Application-Server
[ ] .NET Framework 4.5 AS-NET-Framework
[ ] COM+ Network Access AS-Ent-Services
[ ] Distributed Transactions AS-Dist-Transaction
[ ] WS-Atomic Transactions AS-WS-Atomic
[ ] Incoming Network Transactions AS-Incoming-Trans
[ ] Outgoing Network Transactions AS-Outgoing-Trans
[ ] TCP Port Sharing AS-TCP-Port-Sharing
[ ] Web Server (IIS) Support AS-Web-Support
[ ] Windows Process Activation Service Support AS-WAS-Support
[ ] HTTP Activation AS-HTTP-Activation
[ ] Message Queuing Activation AS-MSMQ-Activation
[ ] Named Pipes Activation AS-Named-Pipes
[ ] TCP Activation AS-TCP-Activation
[ ] DHCP Server DHCP
[ ] DNS Server DNS
[ ] Fax Server Fax
[X] File And Storage Services FileAndStorage-Services
[ ] File and iSCSI Services File-Services
[ ] File Server FS-FileServer
[ ] BranchCache for Network Files FS-BranchCache
[ ] Data Deduplication FS-Data-Deduplication
[ ] DFS Namespaces FS-DFS-Namespace
[ ] DFS Replication FS-DFS-Replication
[ ] File Server Resource Manager FS-Resource-Manager
[ ] File Server VSS Agent Service FS-VSS-Agent
[ ] iSCSI Target Server FS-iSCSITarget-Server
[ ] iSCSI Target Storage Provider (VDS and VSS hardware providers) iSCSITarget-VSS-VDS
[ ] Server for NFS FS-NFS-Service
[X] Storage Services Storage-Services
[ ] Hyper-V Hyper-V
[ ] Network Policy and Access Services NPAS
[ ] Network Policy Server NPAS-Policy-Server
[ ] Health Registration Authority NPAS-Health
[ ] Host Credential Authorization Protocol NPAS-Host-Cred
[ ] Print and Document Services Print-Services
[ ] Print Server Print-Server
[ ] Distributed Scan Server Print-Scan-Server
[ ] Internet Printing Print-Internet
[ ] LPD Service Print-LPD-Service
[ ] Remote Access RemoteAccess
[ ] DirectAccess and VPN (RAS) DirectAccess-VPN
[ ] Routing Routing
[ ] Remote Desktop Services Remote-Desktop-Services
[ ] Remote Desktop Connection Broker RDS-Connection-Broker
[ ] Remote Desktop Gateway RDS-Gateway
[ ] Remote Desktop Licensing RDS-Licensing
[ ] Remote Desktop Session Host RDS-RD-Server
[ ] Remote Desktop Virtualization Host RDS-Virtualization
[ ] Remote Desktop Web Access RDS-Web-Access
[ ] Volume Activation Services VolumeActivation
[ ] Web Server (IIS) Web-Server
[ ] Web Server Web-WebServer
[ ] Common HTTP Features Web-Common-Http
[ ] Default Document Web-Default-Doc
[ ] Directory Browsing Web-Dir-Browsing
[ ] HTTP Errors Web-Http-Errors
[ ] Static Content Web-Static-Content
[ ] HTTP Redirection Web-Http-Redirect
[ ] WebDAV Publishing Web-DAV-Publishing
[ ] Health and Diagnostics Web-Health
[ ] HTTP Logging Web-Http-Logging
[ ] Custom Logging Web-Custom-Logging
[ ] Logging Tools Web-Log-Libraries
[ ] ODBC Logging Web-ODBC-Logging
[ ] Request Monitor Web-Request-Monitor
[ ] Tracing Web-Http-Tracing
[ ] Performance Web-Performance
[ ] Static Content Compression Web-Stat-Compression
[ ] Dynamic Content Compression Web-Dyn-Compression
[ ] Security Web-Security
[ ] Request Filtering Web-Filtering
[ ] Basic Authentication Web-Basic-Auth
[ ] Centralized SSL Certificate Support Web-CertProvider
[ ] Client Certificate Mapping Authentication Web-Client-Auth
[ ] Digest Authentication Web-Digest-Auth
[ ] IIS Client Certificate Mapping Authentication Web-Cert-Auth
[ ] IP and Domain Restrictions Web-IP-Security
[ ] URL Authorization Web-Url-Auth
[ ] Windows Authentication Web-Windows-Auth
[ ] Application Development Web-App-Dev
[ ] .NET Extensibility 3.5 Web-Net-Ext
[ ] .NET Extensibility 4.5 Web-Net-Ext45
[ ] Application Initialization Web-AppInit
[ ] ASP Web-ASP
[ ] ASP.NET 3.5 Web-Asp-Net
[ ] ASP.NET 4.5 Web-Asp-Net45
[ ] CGI Web-CGI
[ ] ISAPI Extensions Web-ISAPI-Ext
[ ] ISAPI Filters Web-ISAPI-Filter
[ ] Server Side Includes Web-Includes
[ ] WebSocket Protocol Web-WebSockets
[ ] FTP Server Web-Ftp-Server
[ ] FTP Service Web-Ftp-Service
[ ] FTP Extensibility Web-Ftp-Ext
[ ] IIS Hostable Web Core Web-WHC
[ ] Management Tools Web-Mgmt-Tools
[ ] IIS Management Console Web-Mgmt-Console
[ ] IIS 6 Management Compatibility Web-Mgmt-Compat
[ ] IIS 6 Metabase Compatibility Web-Metabase
[ ] IIS 6 Management Console Web-Lgcy-Mgmt-Console
[ ] IIS 6 Scripting Tools Web-Lgcy-Scripting
[ ] IIS 6 WMI Compatibility Web-WMI
[ ] IIS Management Scripts and Tools Web-Scripting-Tools
[ ] Management Service Web-Mgmt-Service
[ ] Windows Deployment Services WDS
[ ] Deployment Server WDS-Deployment
[ ] Transport Server WDS-Transport
[ ] Windows Server Update Services UpdateServices
[ ] WID Database UpdateServices-WidDB
[ ] WSUS Services UpdateServices-Services
[ ] Database UpdateServices-DB
[ ] .NET Framework 3.5 Features NET-Framework-Features
[ ] .NET Framework 3.5 (includes .NET 2.0 and 3.0) NET-Framework-Core
[ ] HTTP Activation NET-HTTP-Activation
[ ] Non-HTTP Activation NET-Non-HTTP-Activ
[X] .NET Framework 4.5 Features NET-Framework-45-Features
[X] .NET Framework 4.5 NET-Framework-45-Core
[ ] ASP.NET 4.5 NET-Framework-45-ASPNET
[X] WCF Services NET-WCF-Services45
[ ] HTTP Activation NET-WCF-HTTP-Activation45
[ ] Message Queuing (MSMQ) Activation NET-WCF-MSMQ-Activation45
[ ] Named Pipe Activation NET-WCF-Pipe-Activation45
[ ] TCP Activation NET-WCF-TCP-Activation45
[X] TCP Port Sharing NET-WCF-TCP-PortSharing45
[ ] Background Intelligent Transfer Service (BITS) BITS
[ ] IIS Server Extension BITS-IIS-Ext
[ ] Compact Server BITS-Compact-Server
[ ] BitLocker Drive Encryption BitLocker
[ ] BitLocker Network Unlock BitLocker-NetworkUnlock
[ ] BranchCache BranchCache
[ ] Client for NFS NFS-Client
[ ] Data Center Bridging Data-Center-Bridging
[ ] Enhanced Storage EnhancedStorage
[ ] Failover Clustering Failover-Clustering
[ ] Group Policy Management GPMC
[ ] Ink and Handwriting Services InkAndHandwritingServices
[ ] Internet Printing Client Internet-Print-Client
[ ] IP Address Management (IPAM) Server IPAM
[ ] iSNS Server service ISNS
[ ] LPR Port Monitor LPR-Port-Monitor
[ ] Management OData IIS Extension ManagementOdata
[ ] Media Foundation Server-Media-Foundation
[ ] Message Queuing MSMQ
[ ] Message Queuing Services MSMQ-Services
[ ] Message Queuing Server MSMQ-Server
[ ] Directory Service Integration MSMQ-Directory
[ ] HTTP Support MSMQ-HTTP-Support
[ ] Message Queuing Triggers MSMQ-Triggers
[ ] Multicasting Support MSMQ-Multicasting
[ ] Routing Service MSMQ-Routing
[ ] Message Queuing DCOM Proxy MSMQ-DCOM
[ ] Multipath I/O Multipath-IO
[ ] Network Load Balancing NLB
[ ] Peer Name Resolution Protocol PNRP
[ ] Quality Windows Audio Video Experience qWave
[ ] RAS Connection Manager Administration Kit (CMAK) CMAK
[ ] Remote Assistance Remote-Assistance
[ ] Remote Differential Compression RDC
[ ] Remote Server Administration Tools RSAT
[ ] Feature Administration Tools RSAT-Feature-Tools
[ ] SMTP Server Tools RSAT-SMTP
[ ] BitLocker Drive Encryption Administration Utilities RSAT-Feature-Tools-BitLocker
[ ] BitLocker Drive Encryption Tools RSAT-Feature-Tools-BitLocker-RemoteAdminTool
[ ] BitLocker Recovery Password Viewer RSAT-Feature-Tools-BitLocker-BdeAducExt
[ ] BITS Server Extensions Tools RSAT-Bits-Server
[ ] Failover Clustering Tools RSAT-Clustering
[ ] Failover Cluster Management Tools RSAT-Clustering-Mgmt
[ ] Failover Cluster Module for Windows PowerShell RSAT-Clustering-PowerShell
[ ] Failover Cluster Automation Server RSAT-Clustering-AutomationServer
[ ] Failover Cluster Command Interface RSAT-Clustering-CmdInterface
[ ] IP Address Management (IPAM) Client IPAM-Client-Feature
[ ] Network Load Balancing Tools RSAT-NLB
[ ] SNMP Tools RSAT-SNMP
[ ] Windows System Resource Manager RSAT [Deprecated] WSRM-RSAT
[ ] WINS Server Tools RSAT-WINS
[ ] Role Administration Tools RSAT-Role-Tools
[ ] AD DS and AD LDS Tools RSAT-AD-Tools
[ ] Active Directory module for Windows PowerShell RSAT-AD-PowerShell
[ ] AD DS Tools RSAT-ADDS
[ ] Active Directory Administrative Center RSAT-AD-AdminCenter
[ ] AD DS Snap-Ins and Command-Line Tools RSAT-ADDS-Tools
[ ] Server for NIS Tools [DEPRECATED] RSAT-NIS
[ ] AD LDS Snap-Ins and Command-Line Tools RSAT-ADLDS
[ ] Hyper-V Management Tools RSAT-Hyper-V-Tools
[ ] Hyper-V GUI Management Tools Hyper-V-Tools
[ ] Hyper-V Module for Windows PowerShell Hyper-V-PowerShell
[ ] Remote Desktop Services Tools RSAT-RDS-Tools
[ ] Remote Desktop Gateway Tools RSAT-RDS-Gateway
[ ] Remote Desktop Licensing Diagnoser Tools RSAT-RDS-Licensing-Diagnosis-UI
[ ] Remote Desktop Licensing Tools RDS-Licensing-UI
[ ] Windows Server Update Services Tools UpdateServices-RSAT
[ ] API and PowerShell cmdlets UpdateServices-API
[ ] User Interface Management Console UpdateServices-UI
[ ] Active Directory Certificate Services Tools RSAT-ADCS
[ ] Certification Authority Management Tools RSAT-ADCS-Mgmt
[ ] Online Responder Tools RSAT-Online-Responder
[ ] Active Directory Rights Management Services Tools RSAT-ADRMS
[ ] DHCP Server Tools RSAT-DHCP
[ ] DNS Server Tools RSAT-DNS-Server
[ ] Fax Server Tools RSAT-Fax
[ ] File Services Tools RSAT-File-Services
[ ] DFS Management Tools RSAT-DFS-Mgmt-Con
[ ] File Server Resource Manager Tools RSAT-FSRM-Mgmt
[ ] Services for Network File System Management Tools RSAT-NFS-Admin
[ ] Share and Storage Management Tool RSAT-CoreFile-Mgmt
[ ] Network Policy and Access Services Tools RSAT-NPAS
[ ] Print and Document Services Tools RSAT-Print-Services
[ ] Remote Access Management Tools RSAT-RemoteAccess
[ ] Remote Access GUI and Command-Line Tools RSAT-RemoteAccess-Mgmt
[ ] Remote Access module for Windows PowerShell RSAT-RemoteAccess-PowerShell
[ ] Volume Activation Tools RSAT-VA-Tools
[ ] Windows Deployment Services Tools WDS-AdminPack
[ ] RPC over HTTP Proxy RPC-over-HTTP-Proxy
[ ] Simple TCP/IP Services Simple-TCPIP
[ ] SMTP Server SMTP-Server
[ ] SNMP Service SNMP-Service
[ ] SNMP WMI Provider SNMP-WMI-Provider
[ ] Subsystem for UNIX-based Applications [Deprecated] Subsystem-UNIX-Apps
[ ] Telnet Client Telnet-Client
[ ] Telnet Server Telnet-Server
[ ] TFTP Client TFTP-Client
[X] User Interfaces and Infrastructure User-Interfaces-Infra
[X] Graphical Management Tools and Infrastructure Server-Gui-Mgmt-Infra
[ ] Desktop Experience Desktop-Experience
[X] Server Graphical Shell Server-Gui-Shell
[ ] Windows Biometric Framework Biometric-Framework
[ ] Windows Feedback Forwarder WFF
[ ] Windows Identity Foundation 3.5 Windows-Identity-Foundation
[ ] Windows Internal Database Windows-Internal-Database
[X] Windows PowerShell PowerShellRoot
[X] Windows PowerShell 3.0 PowerShell
[ ] Windows PowerShell 2.0 Engine PowerShell-V2
[X] Windows PowerShell ISE PowerShell-ISE
[ ] Windows PowerShell Web Access WindowsPowerShellWebAccess
[ ] Windows Process Activation Service WAS
[ ] Process Model WAS-Process-Model
[ ] .NET Environment 3.5 WAS-NET-Environment
[ ] Configuration APIs WAS-Config-APIs
[ ] Windows Search Service Search-Service
[ ] Windows Server Backup Windows-Server-Backup
[ ] Windows Server Migration Tools Migration
[ ] Windows Standards-Based Storage Management WindowsStorageManagementService
[ ] Windows System Resource Manager [Deprecated] WSRM
[ ] Windows TIFF IFilter Windows-TIFF-IFilter
[ ] WinRM IIS Extension WinRM-IIS-Ext
[ ] WINS Server WINS
[ ] Wireless LAN Service Wireless-Networking
[X] WoW64 Support WoW64-Support
[ ] XPS Viewer XPS-Viewer
System Center 2012 Virtual Machine Manager error (0x8033803b)
Getting this error when trying to refresh a host in system center 2012 virtual machine manager?
Error (2927) A Hardware Management error has occurred trying to contact server meh.local :a:DestinationUnreachable :The WS-Management service cannot process the request. The service cannot find the resource identified by the resource URI and selectors. . Unknown error (0x8033803b) Recommended Action Check that WinRM is installed and running on server meh.local. For more information use the command "winrm helpmsg hresult".
And when you run that nifty command on the remote machine are you getting this?
C:\Windows\System32>winrm helpmsg 0x8033803b
The WS-Management service cannot process the request. The resource URI is missing or it has an incorrect format. Check the documentation or use the following command for information on how to construct a resource URI: "winrm help uris".
FIX: Then run this command on the host server. (from this KB)
sc config winrm type= own
This solved my issue and I was able to refresh the host. One note is that I have two hosts, one is also a domain controller and it was the one I could not refresh. It saw the VMs but would not refresh the host info and I could not control the VMs. After running the command above it resolved it. that KB contains a number of fixes though so a different fix may apply to you.
0x80072ee2 Windows Update “Operation Timed Out” error in Hyper-V virtual machine
Sometimes I like to stump my future self by making a random change along the way that will eventually cause problems. By stump I mean spitting mad. Trolling myself? Perhaps. Anyway I made some bonehead change in my virtual lab at some point that was allowing everything but Windows Update and Activation through on my virtual machines. Every time I ran it I got the error code 0x80072ee2 "Operation Timed Out". One would think this would be a firewall issue, but even after disabling the firewall it still wouldn't work. the host could connect some of the time so I thought maybe a network issue but it wasn't that either. Eventually I found out one of my older VM's could still connect so I dug into what made it different. After a few hours of testing network settings I finally realized I should check the MAC address. Occasionally dynamic MAC addresses don't assign uniquely and you get two VMs sharing the same MAC. Even that wasn't the issue. The only difference in the machine was it was using a legacy network adapter. I'm still not sure why, but switching the problem VMs to legacy network adapters allowed to connect to Windows Update. Keep in mind they could connect to everything else on the internet just fine, and my local network.
So, if you're running a virtual machine that won't update and you're getting the error below, try switching the NIC to legacy in Hyper-V.
0x80072ee2 Windows Update "Operation Timed Out"
How to switch the NIC to legacy in Hyper-V:
*Warning, this will remove your network card settings such as the IP address. Make sure you have this info handy.
1. Shut down the virtual machine
2. Right click on the machine in Hyper-V Manager and go to settings.
3. Click on the existing NIC and click remove.
4. Click apply. After the settings are applied click on Add Hardware and then click on Legacy Network Adapter and add.
5. Connect it to your network, start the VM back up, and apply your TCP/IP settings such as IP address, etc.
Windows Server 2012 VM on a 2008R2 host with dynamic memory
One of the great things about Hyper-V 2.0 on Windows Server 2008 R2 is dynamic memory. It allows you to oversubscribe the host and plop more VMs down then the machine can physically handle. It then dynamically (hence the name) allocates memory based on demand from the virtual machines. What a great feature for a fledgling lab server with finite resources. However, it doesn't always play nice and I found this out as I started building Windows 2012 VMs. For whatever reason Windows Server 2012 as a virtual machine on Hyper-V 2.0 does not play well with dynamic memory. The 2012 VMs I created were excruciatingly slow because they never got more than 512MB of memory (which was my starting value). Once I set them to static memory they were happy.
I'm going to experiment some more and see if maybe the integration services were not installed and that's why. Or perhaps there is a patch or hotfix I need for the host. Regardless, the simple fix is to disable dynamic memory on your Windows Server 2012 virtual machines running on a Windows Server 2008 R2 host.
My new desktop wallpaper
Finally found a wallpaper worthy of spanning two monitors.
Here's the original. http://i.imgur.com/FSv4Q.jpg
Server Upgrade
Yesterday I bought some RAM for my server to double it from 8GB to 16GB. RAM is dirt cheap, in fact 16GB was only $54 at the local Microcenter and I had a bad drive I needed to return for the same price. After swapping one type of memory for another I gleefully drove home excited to be able to run all my virtual machines at once only to find out that the motherboard only takes 8GB of RAM. Well, I'd been thinking about swapping parts between my less used gaming PC which has a 3 core AMD proc and 4 DDR3 slots with support for 32GB. While I was contemplating how well Windows would handle a complete chipset and platform swap my decided to commit suicide. I literally jumped in my seat when the power supply popped. Great, I had no spare power supplies. Back to Microcenter in rush hour traffic ... After a few hours of swapping, backing up, imaging, and loading drivers I managed to switch both a Windows 2008 and Windows 7 server and PC to completely different CPU platforms. The server went from Intel --> AMD and vice versa for the Win7 PC. I had no issues at all. I don't recommend it, but I really didn't want to reload either.
Here's what I ended up with.
Windows Server 2008 R2
| Before | After |
| Intel Celeron e3400 2.6GHz | AMD Phenom II x3 720 2.8GHz (unlocked 4th core) |
| 8GB DDR3 | 24GB DDR3 |
Windows 7 PC
| Before | After |
| AMD Phenom II x3 720 2.8GHz | Intel Celeron e3400 3.1GHz |
| 4GB DDR3 | 4GB DDR3 |





