WCF Hosting ohne Admin Rechte

WCF bietet von Haus aus die Möglichkeit, einen Service in einem Prozess anstatt im IIS zu hosten. Dadurch ist das Hosting wesentlich flexibler, denn zum einen erfordert ein HTTP Hosting nicht zwingend die Installation des IIS, zum anderen stehen auch andere Protokolle wie TCP/IP und Named Pipes zur Vefügung.

Der einzige Haken daran ist, dass ein Prozess, der ohne Admin Rechte läuft, nicht die Rechte hat um einen Service via HTTP zu hosten. Versucht man z.B. einen Windows Service ohne diese Rechte zu starten, erhält man die Fehlermeldung:

Service cannot be started. System.ServiceModel.AddressAccessDeniedException: HTTP could not register URL http://+:7270/[ServiceName]/. Your process does not have access rights to this namespace.

Es gibt aber einen Weg, den WCF Service auch ohne Admin Rechte zu hosten. Unter Windows Vista / 7 / Server 2008 (R2) steht dafür das Tool netsh zur Verfügung. Dadurch ist es möglich, einem Benutzer oder einer Gruppe Rechte auf einen HTTP Namespace, also z.b. „http://+:7270/ServiceName“ zu geben.

Die Syntax dafür lautet

netsh http add urlacl url=http://+:80/MyUri user=DOMAIN\user

Für Windows XP oder Windows Server 2003 übernimmt das Tool httpcfg diese Aufgabe.

Weitere Informationen liefert der Artikel Configuring Namespace Reservations (http://msdn.microsoft.com/en-us/library/ms733768.aspx)

Updating ESXi 5.0 via Command Line Tools

With vSphere 5, vihostupdate and esxupdate are not applicable for ESXi 5. We instead need to use the esxcli command to apply the updates to our ESXi 5 hosts.

  • Make sure you have ESXi Shell access on the ESXi 5 host
  • Download the patch bundle directly from the VMware Support Website (http://www.vmware.com/patchmgr/download.portal). This download will be a .zip file. Do not extract it!
  • Upload the .zip file to a datastore that is accessible on the ESXi host you wish to update. The syntax below will use /vmfs/volumes/pool01, and you may need to adjust this as necessary. Note that the .zip file is uploaded to the ESXi host via the vSphere Client.
  • Set the host to maintenance mode via the vSphere Client
  • To verify which VIBs are already installed on the ESXi 5 host, issue the following command.
    esxcli software vib list | more
  • To find out which VIBs are available in the depot (the downloaded .zip file), issue the following command.
    esxcli software sources vib list --depot=/vmfs/volumes/pool01/updates/ESXi500-201109001.zip | more
  • To update the ESXi 5 host with the VIBs included in the depot, issue the following command.
    esxcli software vib update --depot=/vmfs/volumes/pool01/updates/ESXi500-201109001.zip
  • When the update is complete, verify the information presented. If prompted, reboot the ESXi 5 host (via vSphere Client)
  • If applicable, take the ESXi 5 host out of maintenance mode using the vSphere Client