Guid
Die Klasse Guid dient zum Erstellen und Verwalten von Global Unique Identifiers (GUIDs).
Eine GUID ist eine 128-Bit lange Kennung, die mit extrem hoher Wahrscheinlichkeit weltweit eindeutig ist. Sie wird häufig verwendet, um Objekte, Dateien, Datenbankeinträge oder Sitzungen eindeutig zu identifizieren.
Grundlagen
Im Gegensatz zu Klassen wie Button oder Form besitzt Guid keine grafische Darstellung.
Sie dient ausschließlich dazu, eindeutige Kennungen zu erzeugen und zu verarbeiten.
-
Guid→ erzeugt eindeutige Kennungen -
Math→ führt mathematische Berechnungen aus -
DateTime→ verarbeitet Datum und Uhrzeit -
Random→ erzeugt Zufallszahlen
GUID erzeugen
# Neue GUID erzeugen
$guid = [Guid]::NewGuid()
$guid
Ausgabe:
0f8fad5b-d9cb-469f-a165-70867728950e
GUID aus einem String erstellen
$guid = [Guid]::Parse(
"0f8fad5b-d9cb-469f-a165-70867728950e"
)
Leere GUID
[Guid]::Empty
Ausgabe:
00000000-0000-0000-0000-000000000000
Diese GUID besitzt ausschließlich Nullen und dient häufig als Standard- oder Platzhalterwert.
Eigenschaften
| Eigenschaft | Beschreibung |
|---|---|
Empty |
Enthält eine GUID, deren sämtliche Bits auf 0 gesetzt sind. |
Empty
Empty
Typ = System.Guid
Empty stellt eine leere GUID dar.
Sie wird häufig verwendet, um zu prüfen, ob einer Variablen bereits eine gültige GUID zugewiesen wurde.
if ($id -eq [Guid]::Empty) {
"Keine GUID vorhanden."
}
Methoden
| Methode | Beschreibung |
|---|---|
NewGuid() |
Erstellt eine neue eindeutige GUID. |
Parse() |
Erstellt eine GUID aus einem String. |
TryParse() |
Versucht einen String in eine GUID umzuwandeln. |
ToString() |
Gibt die GUID als Zeichenkette zurück. |
Equals() |
Vergleicht zwei GUIDs. |
CompareTo() |
Vergleicht zwei GUIDs für Sortierungen. |
NewGuid()
NewGuid()
[Guid]::NewGuid()
Beschreibung
Erzeugt eine neue zufällige GUID.
Jeder Aufruf liefert eine neue Kennung, die mit extrem hoher Wahrscheinlichkeit eindeutig ist.
Rückgabe
Rückgabetyp System.Guid
Beispiel
$id = [Guid]::NewGuid()
$id # fd5d1b64-ac86-46b5-a511-92c68ce09d2b
Parse()
Parse()
[Guid]::Parse($string)
Beschreibung
Konvertiert einen String in ein Guid-Objekt.
Ist der String ungültig, wird eine Ausnahme ausgelöst.
Rückgabe
Rückgabetyp System.Guid
Beispiel
$id = [Guid]::Parse(
"0f8fad5b-d9cb-469f-a165-70867728950e"
)
TryParse()
TryParse()
[Guid]::TryParse($string, [ref]$guid)
Beschreibung
Versucht einen String in eine GUID umzuwandeln.
Im Gegensatz zu Parse() wird keine Ausnahme ausgelöst, wenn der String ungültig ist.
Rückgabe
Rückgabetyp System.Boolean
Beispiel
$guid = [Guid]::Empty
if ([Guid]::TryParse($text, [ref]$guid)) {
"Gültige GUID"
}
else {
"Ungültige GUID"
}
ToString()
ToString()
$guid.ToString()
Beschreibung
Gibt die GUID als Zeichenkette zurück.
Rückgabe
Rückgabetyp System.String
Beispiel
$guid = [Guid]::NewGuid()
$guid.ToString()
Equals()
Equals()
$guid1.Equals($guid2)
Beschreibung
Vergleicht zwei GUIDs auf Gleichheit.
Rückgabe
Rückgabetyp System.Boolean
Beispiel
$id1 = [Guid]::NewGuid()
$id2 = $id1
$id1.Equals($id2)
CompareTo()
CompareTo()
$guid1.CompareTo($guid2)
Beschreibung
Vergleicht zwei GUIDs.
Die Methode wird hauptsächlich zum Sortieren verwendet.
Rückgabe
Rückgabetyp System.Int32
-
< 0→ kleiner -
0→ gleich -
> 0→ größer
Tipps & Tricks
Neue eindeutige Dateinamen erzeugen
$file = "{0}.txt" -f ([Guid]::NewGuid())
Beispiel:
92d4bb75-0d95-4d9d-9d88-d7548cb9cbf4.txt
Prüfen, ob ein String eine gültige GUID ist
[Guid]::TryParse($text, [ref]([Guid]::Empty))