Thursday, July 11, 2013

Exchange 2010 Version and Build Number

Get-ExchangeServer's AdminDisplayVersion does not reflect Rollup's build number.

Instead, use: "GCM exsetup |%{$_.Fileversioninfo}"

Monday, May 13, 2013

Adding ability to vSphere 4 to run Windows 8, Windows 2012 or WinPE 4.0 (SCCM 2012 SP1 OSD)

Windows 8, 2012 and WinPE 4.0 boot-image requires specific flags from the CPU before it will boot. Unfortunately for older Pentium processors or VMware vSphere pre 5.0 update 1 these flags are either not available or not exposed from the BIOS.

To allow VMware vSphere 4 to allow booting the Windows 8 boot-image, follow the following steps:

1. Download this BIOS image or here:
2. Create a new Virtual Guest and use Windows 2008 R2 64bit (experimental) option.
3. Once the Virtual Guest have been successfully created, note the Datastore location and proceed to remove  it from Inventory (!!! DO NO DELETE IT FROM DISK !!!)
4. Go into the created Virtual Giest location in the Datastore and upload the downloaded BIOS image into it. It should on the same level as the Virtual Guest's .VMX file.
5. Download and modify the Virtual Guest's .VMX file and append the following lines:

bios440.filename = "bios.440.rom"
mce.enable = TRUE
cpuid.hypervisor.v0 = FALSE
vmGenCounter.enable = FALSE
6. Upload back the .VMX file into same location in the Datastore, overwriting the original (!!!backup the original .VMX as necessary!!!), right-click it and Add to inventory.
7. Boot your Virtual Guest with the Windows 8/2012/WinPE4.0 as needed.

Wednesday, May 01, 2013

You must either run windows server 2012 setup or enter a windows server 2012 standard evaluation product key

Server Manager throws "You must either run windows server 2012 setup or enter a windows server 2012 standard evaluation product key" when attempting to activate an Evaluation version of Windows Server 2012 using a valid Product Key.

The following workaround solved the above for me:
!!!WARNING!!! Windows Product Activation on an Evaluation Edition running as a Domain Controller is *UNSUPORTED*, Demote the machine first and then run the steps below. Re-promote the machine back to Domain Controller afterwards. If this is your *ONLY* Domain Controller, this might be the right time to deploy a second unit...
  1. Run Command Prompt in Elevated Mode
  2. Run the following: "DISM /online /Set-Edition:ServerStandard /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula"
  3. DISM will request for a system restart... choose Y(es) and restart the server.
  4. After boot-up, run the following: "cscript C:\windows\system32\slmgr.vbs -ato"
*replace XXXXX-XXXXX-XXXXX-XXXXX-XXXXX with the valid Product Key

Wednesday, March 06, 2013

Allow unsupported (non-coded) SFP to be used by Cisco Catalyst Switches

The IOS on Cisco Catalyst switches does not allow non-Cisco SFP transceivers to be used; the affected switch interface will be taken down if a non-Cisco-coded SFP transceiver is inserted.

Run the following command (IOS) on the Catalyst to allow the use of such *unsupported* SFP transceivers:
> enable
# configure terminal
#(config) service unsupported-transceiver
#(config) no errdisable detect cause gbic-invalid

The information above is only to be used for testing & development purposes. The writer holds no responsibility for failure or loss on the part of the reader..

Saturday, February 09, 2013

Adding custom options in ISC-DHCPD's dhcpd.conf

There was a need to add a custom option code 138 into ISC-DHCPD to facilitate our wireless controllers and CAPWAP for its managed access points. Following is the excerpt required in dhcpd.conf:

#CAPWAP Settings
option capwap code 138 = ip-address;
option capwap 0x0A102001;
if exists dhcp-parameter-request-list {
option dhcp-parameter-request-list=concat(option dhcp-parameter-request-list,8A);

Explaination as below:

option capwap code 138 = ip-address;
This line declares a namespace "capwap" which should return dhcp-option code 138 and it should take values in the format of ip-adresses.

In ISC-DHCP, ip-address values takes the form of octal representation such as or in hexadecimal representation such as 0xC0A80101

Other types of *common* values are strings and arrays of ip-address (ip-address separated by a comma',')

...option capwap 0x0A102001;
This is the actual variable=value line. In the sample above, it is declared in the global declarations, it can also be specified in the pool declarations.

...option dhcp-parameter-request-list=concat(option dhcp-parameter-request-list,8A);
Without this line, ISC-DHCPD will *never* include the custom options in its DHCP offer messages. The item 8A refers to the custom dhcp-option 138 in hexadecimal representation. For multiple custom options, separate the dhcp-parameter-request-list values with commas. For example:

...option dhcp-parameter-request-list=concat(option dhcp-parameter-request-list,8A,8B,8C);
This represents custom option for dhcp-option 138,139 and 140