# GetUniqueSystemIdentifier1

### Description

Gets a unique system identifier based on the customer's environment.

GetUniqueSystemIdentifier1() first detects if the process is running on a virtual machine. If it is running on a VM, it returns the System Management BIOS UUID which is a unique ID that identifies a VM.

If the process is running on a physical machine, it tries to get the motherboard serial number. If the motherboard serial number can be retrieved, it validates that the motherboard serial number is reliable. Several motherboard manufacturers return unreliable / non-unique serial numbers. If the motherboard serial number is deemed reliable, it returns it to the caller.

If the motherboard serial number is not reliable, it tries to get the following unique identifiers, in the order listed below, and returns the first value that it can reliably retrieve:

* System Enclosure SN: Manufacturer-allocated number used to identify the physical element.
* BIOS SN: BIOS Serial Number.
* Computer SN: Serial number on software, a die number on a hardware chip.
* Volume SN: OS Volume Serial Number.
* First MAC Address: MAC address of the first detected network card.
* Computer Name: The BIOS name of the computer.

```csharp
string GetUniqueSystemIdentifier1()
```

### Return

| Type   | Description                   |
| ------ | ----------------------------- |
| string | returns the unique identifier |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.soraco.co/docs/api-reference/.net-api/iqlmhardware/getuniquesystemidentifier1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
