MessageQueue.GetMachineId Method (String)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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.

Exception Condition

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}",

.NET Framework
Available since 1.1
Return to top