Recording ringtones for the Apple iPhone

In the western world (well, certainly in the UK), mobile phone ringtones represent a highly profitable market but, as I understand it, no additional revenue is passed to the recording artists – and on that basis I’m not going to line the pockets of music industry executives when I’ve already paid for music once.

One of the advantages of being an iPhone user and having a Mac at my disposal is the ability to record my own Ringtones. Whilst there are commercial products that can do this too (like iToner from Ambrosia Software), if you have Apple GarageBand 4.1.1 or later, you can record your own ringtones (40 seconds or less) and transfer them to iTunes to sync with the phone (as described in Apple support article HT1358 or with screenshots on LifeHacker). If you need to fade the ringtone in/out then adjusting the track volume is described in an AppleInsider forum post.

This capability is not new, and is pretty well documented, but I’ve spent far too much time playing around with it and now I need to go to sleep!

Using psexec to make registry changes on a remote computer

So, here’s the problem. I’m in the UK and I want to send a 15MB file to someone in Australia. My Windows Live SkyDrive and Mesh accounts have 5MB limits (and there is no Mac client for Mesh for a point to point connection). I have an FTP server I can use but I need to create a new user account and I’m many miles away from the server. Of course, being Internet-facing, the FTP server is in a DMZ, so I’m careful about which services it is running but I can use a Remote Desktop Connection to connect to another computer and then use a second remote desktop session to access the FTP server from inside the firewall. At least, I should have been able to, if I’d enabled remote desktop… and I hadn’t.

I tried to connect to the registry remotely and enable Remote Desktop using the method that Daniel Petri describes but that failed:

Error connecting network registry
Unable to connect to
ipaddress. Make sure you have permission to administer this computer.

I wasn’t sure what was preventing access to the remote registry (the target is a fully patched Windows Server 2003 R2 computer) but I needed another method of access. That method was a Microsoft SysInternals tool called psexec which allowed me to bypass whatever security I was having trouble with and run commands on the remote server. First I edited the registry to allow Remote Desktop:

psexec \\ipaddress -u username -p password reg add "hklm\system\currentcontrolset\control\terminal server" /f /v fDenyTSConnections /t REG_DWORD /d 0

and was pleased to see that:

reg exited on ipaddress with error code 0.

Next I checked the value I’d just set:

psexec \\ipaddress -u username -p password reg query "hklm\system\currentcontrolset\control\terminal server"

Before I restarted the server:

psexec \\ipaddress -u username -p password shutdown -f -r -t 0

After this, I could RDP onto the console and make the changes that I needed.

If all the command line exercise is a little daunting, then it looks as though Phil Morgan’s RD Enable XP will also optionally call psexec to do the same thing…

Microsoft Virtualization: part 3 (desktop virtualisation)

Before the weekend, I started a series of posts on the various technologies that are collectively known as Microsoft Virtualization. So far, I’ve looked at host/server virtualisation and in this post, I’ll look at the various forms of desktop virtualisation that Microsoft offers.

Whilst VMware have a virtual desktop infrastructure (VDI) solution built around Virtual Infrastructure (VI), Microsoft’s options for virtualising the desktop are more varied – although it should be noted that they do not yet have a desktop broker and recommend partner products such as Citrix Xen Desktop or Quest vWorkspace (formerly Provision Networks Virtual Access Suite). With Hyper-V providing the virtualisation platform, System Center Virtual Machine Manager, Configuration Manager and Operations Manager for management of virtualised Vista clients, this is what some people at Microsoft have referred to as Microsoft VDI (although that’s not yet an official marketing concept).

Licensed by access device (PC or thin client) with the ability to run up to four virtual operating system instances per license, the Vista Enterprise Centralized Desktop (VECD) is actually platform agnostic (i.e. VECD can be used with VMware, Xen or other third-party virtualisation solutions). VECD is part of the Microsoft Desktop Optimization Pack (MDOP) and so requires a Software Assurance (SA) subscription.

With a broker to provide granular authentication and support for the Citrix Independent Computing Architecture (ICA) protocol (for better multimedia support than the Remote Desktop Protocol), users can connect to a Windows Vista desktop from any suitable access device.

To access this virtualised infrastructure there are a number of options – from thin-client terminal devices to Windows Fundamentals for Legacy PCs (WinFLP) – an operating system based on Windows XP Embedded and intended for use on older hardware. WinFLP is not a full general purpose operating system, but provides suitable capabilities for security, management, dcument-viewing and the Microsoft .NET framework, together with RDP client support and the ability to install other clients (e.g. Citrix ICA). Running on old, or low-specification hardware, WinFLP is an ideal endpoint for a VDI but it is a software assurance benefit – without SA then the closest alternative is to strip down/lock down Windows XP.

VDI is just one part of the desktop virtualisation solution though – since Microsoft’s purchase of Connectix in 2003, Virtual PC has been available for running virtualised operating system instances on the desktop. With the purchase of Kidaro in March 2008, Microsoft gained an enterprise desktop virtualisation solution, which has now become known as Microsoft Enterprise Desktop Virtualisation (MED-V) and is expected to become part of MDOP in the first half of 2009.

Effectively, MED-V provides a managed workspace, with automatic installation, image delivery and update; centralised management and reporting; usage policies and data transfer controls; and complete end use transparency (i.e. users do not need to know that part of their desktop is virtualised).

The best way I can describe MED-V is something like VMware ACE (for a locked-down virtual desktop) combined with the Unity feature from VMware Fusion/Coherence from Parallels Desktop for Mac, whereby the guest application instances appear to be running natively on the host operating system desktop.

MED-V runs within Virtual PC but integration with the host operating system is seamless (although MED-V applications can optionally be distinguished with a coloured border) – even down to the system tray level and providing simulated task manager entries.

A centralised repository is provided for virtual machine images with a variety of distribution methods possible – even a USB flash drive – and a management console is provided in order to control the user experience. Authentication is via Active Directory permissions, with MED-V icons published to the host desktop.

MED-V can be used to run applications with compatibility issues on a virtual Windows XP desktop running on Windows Vista until application compatibility fixes can be provided (e.g. using Application Compatibility Toolkit shims, or third party solutions such as those from ChangeBASE). Furthermore, whereas using application virtualisation to run two versions of Internet Explorer side-by-side involves breaching the end user licensing agreement (EULA), the MED-V solution (or any operating system-level virtualisation solution) provides a workaround, even allowing the use of lists to spawn an alternative browser for those applications that require it (e.g. Internet Explorer 7 on the desktop, with Internet Explorer 6 launched for certain legacy web applications).

Using technologies such as MED-V for desktop virtualisation allows a corporate desktop to be run on a “dirty” host (although network administrators will almost certainly have kittens). From a security standpoint, MED-V uses a key exchange mechanism to ensure security of client-server communications and the virtual hard disk (.VHD) image itself is encrypted, with the ability to set an expiry date after which the virtual machine is inoperable. Restrictions over access to clipboard controls (copy, paste, print screen, etc.) may be applied to limit interaction between guest and host machines – even to the point that it may be possible to copy data in one direction but not the other.

At this time, MED-V is 32-bit only, although future releases will have support for 64-bit host operating system releases (and I expect to see hypervisor-based virtualisation in a future Windows client release – although I’ve not seen anything from Microsoft to substantiate this, it is a logical progression to replace Virtual PC in the way that Hyper-V has replaced Virtual Server)

Desktop virtualisation has a lot of potential to aid organisations in the move to Windows Vista but, unlike VMware, who see VDI as a replacement for the desktop, Microsoft’s desktop virtualisation solutions are far more holistic, integrating with application and presentation virtualisation to provide a variety of options for application delivery.

In the next post in this series, I’ll take a closer look at application virtualisation.

Windows Server 2008 Hyper-V vs. Hyper-V Server 2008

Last summer, I wrote a post to help people understand the various versions of Hyper-V and now that Hyper-V Server has been launched, it’s got even more confusing.

The following table is lifted from the Microsoft website and should help to clear up which version of Hyper-V Server or Windows Server with the Hyper-V role enabled will allow various functionality:

Requirement Hyper-V Server 2008 Windows Server 2008 Standard Edition Windows Server 2008 Enterprise Edition Windows Server 2008 Datacenter Edition
Server consolidation Yes Yes Yes Yes
Test and development Yes Yes Yes Yes
Mixed operating system virtualisation (Windows and Linux) Yes Yes Yes Yes
Local Graphical User Interface Yes Yes Yes
High availability clustering Yes Yes
Quick migration Yes Yes
Large memory support (host >32GB RAM) Yes Yes
Support for >4 processors (host) Yes Yes
Ability to add further server roles Yes Yes Yes
Virtualisation rights (per assigned server license) Each guest should be licensed independently of the host 1 physical and 1 virtual 1 physical and 4 virtual 1 physical and unlimited virtual

MVP = Mark’s Very Pleased

MVPI’ve just heard that my Microsoft Most Valuable Professional (MVP) Award nomination for 2009 was successful and I can now say I’m an MVP for Virtual Machine technology.

Thank you to everyone who reads, links to and comments on this blog as, without your support, I wouldn’t write this stuff and therefore wouldn’t be getting the recognition from Microsoft that I have.

For those of you who skip over the Microsoft-focused content, don’t worry – it doesn’t mean that it will all be Microsoft from now on – I’ll still continue to write about whatever flavour of technology I find interesting at any given time, and I’ll still be trying to remain objective!

Hyper-V Server has RTMed – SCVMM due by the end of the month

I’ve just heard that Microsoft Hyper-V Server – the free version of Hyper-V with no reliance on Windows has shipped. Hyper-V Server will be available for download later today from the Microsoft website.

For more information about Hyper-V Server, check out the blog post I wrote a few days ago on host virtualisation using Microsoft Virtualization technologies.

System Center Virtual Machine Manager 2008 has not been released yet but Microsoft do say that it will be ready by the end of October (they had previously indicated that it would ship within 30 days of the Microsoft Virtualization launch last month).