This documentation is archived and is not being maintained.

MessageQueue.GetMachineId Method

Gets the identifier of the computer on which the queue referenced by this MessageQueue is located.

Namespace:  System.Messaging
Assembly:  System.Messaging (in System.Messaging.dll)

public static Guid GetMachineId(
	string machineName


Type: System.String

The name of the computer that contains the queue, without the two preceding backslashes (\\).

Return Value

Type: System.Guid
A Guid that represents a unique identifier for the computer on which the queue is located.


The computer identifier could not be retrieved, possibly because the directory service is not available; for example, if you are working offline.


An error occurred when accessing a Message Queuing method.

You can use a computer's identifier for two purposes, among others: to read the computer journal and to set security certificates. However, you cannot call GetMachineId(String) for a remote computer when you are working offline because the application must have access to the directory service on the domain controller.

The computer identifier (or machine identifier) is a Guid that Message Queuing creates when a computer is added to the enterprise. Message Queuing combines the computer identifier with the Machine and Journal keywords to create the machine journal's format name, which has the syntax Machine=<computeridentifier>;Journal. The machine journal, which is also known as the journal queue, is a system queue that stores copies of application-generated messages when the UseJournalQueue property is true.

This syntax for the journal is only valid when constructing the format name for the queue. The path name syntax is MachineName\Journal$.

The following table shows whether this method is available in various Workgroup modes.

Workgroup mode


Local computer


Local computer and direct format name


Remote computer


Remote computer and direct format name


The following code example calls GetMachineId(String).

// Get the name of the computer that contains the queue.
string machineName = queue.MachineName;

// Display the return value of the MessageQueue.GetMachineId method.
Console.WriteLine("MessageQueue.GetMachineId(): {0}",

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0