Windows Server 2012 – converting between core, gui and minimal interface versions

In Windows Server 2012 is now possible to switch between various install options (Gui, Core) through simple PoweSshell commands, installing/uninstalling features.

Core Minimal GUI Desktop Experience
File And Storage Services
FileAndStorage-Services
File And Storage Services
FileAndStorage-Services
File And Storage Services
FileAndStorage-Services
File And Storage Services
FileAndStorage-Services
Storage Services
Storage-Services
Storage Services
Storage-Services
Storage Services
Storage-Services
Storage Services
Storage-Services
.NET Framework 4.5 Features
NET-Framework-45-Features
.NET Framework 4.5 Features
NET-Framework-45-Features
.NET Framework 4.5 Features
NET-Framework-45-Features
.NET Framework 4.5 Features
NET-Framework-45-Features
.NET Framework 4.5
NET-Framework-45-Core
.NET Framework 4.5
NET-Framework-45-Core
.NET Framework 4.5
NET-Framework-45-Core
.NET Framework 4.5
NET-Framework-45-Core
WCF Services
NET-WCF-Services42
WCF Services
NET-WCF-Services43
WCF Services
NET-WCF-Services44
WCF Services
NET-WCF-Services45
TCP Port Sharing
NET-WCF-TCP-PortSharing42
TCP Port Sharing
NET-WCF-TCP-PortSharing43
TCP Port Sharing
NET-WCF-TCP-PortSharing44
TCP Port Sharing
NET-WCF-TCP-PortSharing45
Ink and Handwriting Services
InkAndHandwritingServices
Media Foundation
Server-Media-Foundation
Media Foundation
Server-Media-Foundation
Media Foundation
Server-Media-Foundation
Media Foundation
Server-Media-Foundation
User Interfaces and Infrastructure
User-Interfaces-Infra
User Interfaces and Infrastructure
User-Interfaces-Infra
User Interfaces and Infrastructure
User-Interfaces-Infra
Graphical Management Tools and Infrastructure
Server-Gui-Mgmt-Infra
Graphical Management Tools and Infrastructure
Server-Gui-Mgmt-Infra
Graphical Management Tools and Infrastructure
Server-Gui-Mgmt-Infra
Desktop Experience
Desktop-Experience
Server Graphical Shell
Server-Gui-Shell
Server Graphical Shell
Server-Gui-Shell
Windows Powershell
PowerShellRoot
Windows Powershell
PowerShellRoot
Windows Powershell
PowerShellRoot
Windows Powershell
PowerShellRoot
Windows Powershell 3.0
PowerShell
Windows Powershell 3.0
PowerShell
Windows Powershell 3.0
PowerShell
Windows Powershell 3.0
PowerShell
Windows PowerShell ISE
PowerShell-ISE
Windows PowerShell ISE
PowerShell-ISE
Windows PowerShell ISE
PowerShell-ISE
WoW64 Support
WoW64-Support
WoW64 Support
WoW64-Support
WoW64 Support
WoW64-Support
WoW64 Support
WoW64-Support

(Click here for a nicer version of the above in .pdf format)

I couldn’t find a command for checking the current install option on the server, so I used this:
# list all INSTALLED Windows Server features
Get-WindowsFeature | where {$_.Installed -eq "True"} | ft DisplayName, Name, Installed
credit goes here

the presence of [-Source] variable determines if local binaries are to be used or if they will be downlodaded from ‘Windows Update’

In order to convert between the install options of Windows Server 2012 run one of the following in PowerShell as appropriate:

Core -> Gui
Install-WindowsFeature Server-Gui-Shell -Restart -Source C:mountdirwindowswinsxs
or
Install-WindowsFeature Server-Gui-Shell -Restart

Core -> Minimal Interface
Install-WindowsFeature Server-Gui-Mgmt-Infra -Restart -Source C:mountdirwindowswinsxs
or
Install-WindowsFeature Server-Gui-Mgmt-Infra -Restart

Gui -> Core
Uninstall-WindowsFeature Server-Gui-Mgmt-Infra -Restart

Gui -> Minimal Interface
Uninstall-WindowsFeature Server-Gui-Shell -Restart

Minimal Interface -> Core
Uninstall-WindowsFeature Server-Gui-Mgmt-Infra -Restart

Minimal Interface -> Gui
Install-WindowsFeature Server-Gui-Shell -Restart -Source C:mountdirwindowswinsxs
or
Install-WindowsFeature Server-Gui-Shell -Restart

This is how technet recommends moving between install options, however I found that the above is sufficient.

To reach the installation state in each row… Run the Windows PowerShell install/uninstall commands with these values for the Name parameter: Or, select these features in Server Manager:
Server Core installation option none none
Minimal Server Interface Server-Gui-Mgmt-Infra Graphical Management Tools and Infrastructure
Server with a GUI installation option Server-Gui-Mgmt-Infra,
Server-Gui-Shell
Graphical Management Tools and Infrastructure,
Server Graphical Shell
Desktop Experience feature installed Server-Gui-Mgmt-Infra,
Server-Gui-Shell,
Desktop-Experience
Graphical Management Tools and Infrastructure,
Server Graphical Shell,
Desktop Experience

http://technet.microsoft.com/en-us/library/hh831786.aspx

 

UPDATE (08/04/2013) – install-windows-feature may give errors talking about non-existing sources. Hence the DVD source may need mounting (see http://p0w3rsh3ll.wordpress.com/2012/10/10/switch-from-windows-2012-core-to-gui-mode-hands-on/)

# 1. Create an empty directory             
mkdir c:mount            
# 2. Mount the Standard image            
Mount-WindowsImage -Path C:mount -ImagePath D:sourcesinstall.wim -Index 2 -ReadOnly

HP Sistem Management Homepage timeout

the timeout errors in windows (error 1053) can be addressed by adjusting the UI timeout (default 60 seconds).
Check for the SMH log for entries such as this:
MAJOR 11/19/2012 2:19:24 PM
UI Timeout (limit: 120s) — vcagent(HPVersionControlAgent):359s||vcrepository(HPVersionControlRepositoryManager):0s||elm(backwardscompatibility):0s

which indicates that the one of the agents needed more time than that specified by the UI Timeout limit.

debian …and back

It’s back to Debian, as I haven’t got the time for technological adventures. Everything is set-up like before with the exception of sound which is not set for both surround 5.1 and dmix with this .asoundrc

pcm.!default plug:both

ctl.!default {
type hw
card 0
}

pcm.both {
type route
slave.pcm {
type multi
slaves {
a.pcm "dfront"
a.channels 2
b.pcm "drear"
b.channels 2
c.pcm "dcenter"
c.channels 2
}

bindings {
0.slave a;
0.channel 0;
1.slave a;
1.channel 1;

2.slave b;
2.channel 0;
3.slave b;
3.channel 1;

4.slave c;
4.channel 0;
5.slave c;
5.channel 1;

}
}

ttable {
0.0 1;
1.1 1;

0.2 1;
1.3 1;

0.4 1;
1.5 1;

}
}

ctl.both {
type hw
card 0
}

pcm.dfront {
type dmix
ipc_key 1024
slave {
pcm "front"
period_time 0
period_size 1024
buffer_size 8192
rate 48000
}
}

ctl.dfront {
type hw
card 0
device 0
}

pcm.drear {
type dmix
ipc_key 2048
slave {
pcm "rear"
period_time 0
period_size 1024
buffer_size 8192
rate 48000
}
}

ctl.dfront {
type hw
card 0
device 1
}

pcm.dcenter {
type dmix
ipc_key 4096
slave {
pcm "center_lfe"
period_time 0
period_size 1024
buffer_size 8192
rate 48000
}
}

ctl.dcenter {
type hw
card 0
device 3
}

pcm.sblive {
type plug
slave {
pcm "hw:1,0"
rate 48000
}
}

from

good bye debian, welcome Arch

I have been using debian OS for close to ten years now, anywhere there was a need for a linux set-up. There are many good things about debian like the fact that you can have a working machine in less than you can say “ctrl alt delete”. For me though it was the right time for a change.

I have decided to go with Arch for my next re-install. Things I like about Arch Linux so far: fairly well documented, more transparent about what is installed, the latest packages, less bloat.

This is also my second compiz adventure; so far so good:

I listed below the steps required to achieve this: compiz, transparency, semi-transparent Conky, cairo-dock and a panel bar (tint2).

install:
edit rc.conf:
LOCALE=”en_GB.UTF8
KEYMAP=”uk”
MOD_AUTOLOAD=”yes”
HOSTNAME=”[your hostname]”
ineterface=eth0

check:
/etc/hosts
/etc/locale.gen
/etc/pacman.d/mirrorlist

test networking:
#ping -c 3 example.com

# pacman-db-upgrade

# pacman -Syy

upgrade system:
#pacman -Syu

add a user:
# adduser
additional groups (comma separated) []: audio,lp,optical,storage,video,wheel,games,power,scanner

install sudo:
pacman -S sudo
visudo (uncomment as appropriate – group wheel)

install X:
pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils mesa mesa-demos

setup Nvidia:
pacman -S xf86-video-nouveau
pacman -S nouveau-dri libgl

touchpad:
pacman -S xf86-input-synaptics

set-up keyboard in X:
#vi /etc/X11/xorg.conf.d/10-evdev.con
add to [Identifier “evdev keyboard catchall”]:
Option “XkbLayout” “gb”

pacman -S dbus
add dbus to Daemons in rc.conf

pacman -S ttf-dejavu

# pacman -S compiz-core ccsm emerald fusion-icon compiz-fusion-plugins-main compiz-fusion-plugins-extra

# pacman -S tint2 conky gnome-terminal

install cairo-dock from AUR
$ sudo pacman -S base-devel
$ wget http://aur.archlinux.org/packages/cairo-dock/cairo-dock.tar.gz
$ tar xvfz cairo-dock.tar.gz
$ cd cairo-dock
$ makepkg -s
$ pacman -U cairo-dock-2.3.0-3-i686.pkg.tar.xz
cairo-dock-themes is installed in the same way.

my .xinitrc:
tint2 &
cairo-dock -o &
conky -o ~/.conkyrc &
exec ck-launch-session fusion-icon

my .conkyrc:
alignment top_right
background no
border_width 1
cpu_avg_samples 2
default_color white
default_outline_color white
default_shade_color white
draw_borders no
draw_graph_borders yes
draw_outline no
draw_shades no
use_xft yes
xftfont DejaVu Sans Mono:size=12
gap_x 5
gap_y 60
minimum_size 5 5
net_avg_samples 2
no_buffers yes
nvidia_display yes
out_to_console no
out_to_stderr no
extra_newline no
own_window yes
own_window_class Conky-semi
own_window_type normal
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_argb_visual yes
own_window_argb_value 49
stippled_borders 0
update_interval 1.0
uppercase no
use_spacer none
show_graph_scale no
show_graph_range no
double_buffer yes

TEXT
$nodename – $sysname $kernel on $machine
$hr
${color 494949}Uptime:$color $uptime
${color 494949}Frequency (in MHz):$color $freq
${color 494949}Frequency (in GHz):$color $freq_g
${color 494949}RAM Usage:$color $mem/$memmax – $memperc% ${membar 4}
${color 494949}Swap Usage:$color $swap/$swapmax – $swapperc% ${swapbar 4}
${color 494949}CPU Usage:$color $cpu% ${cpubar 4}
${color 494949}Processes:$color $processes  ${color grey}Running:$color $running_processes
$hr
${color 494949}File systems:
/ $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
${color 494949}Networking:
Up:$color ${upspeed eth0} ${color 494949} – Down:$color ${downspeed eth0}
$hr
${color 494949}Name              PID   CPU%   MEM%
${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top_mem mem_res 1}
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top_mem mem_res 2}
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top_mem mem_res 3}
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top_mem mem_res 4}

Setting up auto mounting of devices
$ sudo pacman -S autof
$ sudo vi /etc/autofs/auto.master
uncomment the last line
$ cp /etc/autofs/auto.misc /etc/autofs/auto.media
$ vi /etc/rc.conf
add ‘autofs’ to DAEMONS section and ‘autofs4’ to modules
$ sudo reboot
make sure that the modules load and that’s it, auto-mounting sorted.

exchange 2010 notes

I have just taken an exchange 2010 install (two nodes dag, two CAS/Hub transport servers) from 2010 RTM to 2010 SP1 Rollup 3v3 released on 27th of June 2011 I think.

The updates took way longer than anticipated. When SP1 is applied without any preparation will highlight a lot of pre-reqs. In practice I found the following were required:

– apply all Windows high priority updates
– install the filterpack64bit.exe

applying the service pack itself, happened without any problems on the non-mailbox server.

On the DAG it is important to:
– make sure that there are no mounted copies on the server on which the SP is applied.

the CAS servers may go into a frenzy, processing the queues accumulated in the process, no need to panick, things will go back to normal fairly quickly.

————–

exporting mailboxes to pst’s. Exchange 2010 SP1 has a nice allows export of mailboxes to pst files, without the need for an outlook installation on the server, as it was the case on Exchange 2010 RTM.

the following steps will accomplish this:
– set the permissions:
New-ManagementRoleAssignment -Name “[name of the role assignment]” -SecurityGroup “[security group in AD]” -Role “Mailbox Import Export”
the AD security group needs to be universal; at least that was my case
– set a network path – make sure that “Exchange Trusted Subsystem” is given appropriate permission on the share
-the actual export of the mailbox to pst:
New-MailboxExportRequest -Mailbox [mailbox name] -FilePath “[the path to the desired pst file on the storage]”

get-MailboxExportRequest will display the status of the current exports

you can do this in bulk in two steps:

first identify the users (disabled users for example)

$mailboxname = get-mailbox -Server [Server Name] | where { &_.ExchangeUserAccountControl -match “AccountDisabled” }

then operate the export request on the variable:

$mailboxname | foreach-object {New-MailboxExportRequest -Mailbox $_ -filepath [the path to the pst storage]

waik – unattended install – united kingdom (great britain) localization

I’ve struggled to get rid of the first screen (asking for language, time zone and keyboard) when performing an install of Windows 2008 R2, using an answer file created with WAIK. It looks like I wasn’t the first to hit this problem. Windows will display forms where it hasn’t got the right answers. In my case I had to pay attention to the following:

  • UILanguage which needs to be en-US
  • InputLocale = 0809:00000809
  • TimeZone = GMT Standard Time

once the answer file is complete an image can be generated using the deployment tools command prompt so it can be mounted together with the windows iso:
oscdimg -n c:answer c:answer.iso