Strona główna
» WINDOWS
»
Jak wygenerować identyfikator GUID w programie PowerShell w systemie Windows 10
Jak wygenerować identyfikator GUID w programie PowerShell w systemie Windows 10
Aby wygenerować identyfikator GUID w systemie Windows 10, otwórz program Windows PowerShell i uruchom polecenie [guid]::NewGuid(). Naciśnij klawisz Enter, aby uzyskać nowy identyfikator w znanym formacie 8-4-4-4-12. Nie musisz uruchamiać programu PowerShell jako administrator w przypadku tego polecenia. Możesz również skorzystać z wbudowanego New-Guidpolecenia cmdlet.
Generowanie GUID za pomocą programu PowerShell
Otwórz menu Start, wpisz „Windows PowerShell” i wybierz aplikację. Wystarczy zwykłe okno programu PowerShell; nie są wymagane podwyższone uprawnienia.
Wyszukaj Windows PowerShell w menu Start i otwórz aplikację.
W wierszu PSpoleceń wpisz następujące polecenie i naciśnij Enter:
[guid]::NewGuid()
Uruchomienie polecenia spowoduje wydrukowanie nowo wygenerowanego GUID.
PowerShell wyświetla wartość podobną do 9f2d6f48-1e3a-4f86-9a51-c781c6d3a20b. Za każdym razem, gdy uruchamiasz tę metodę, tworzony jest kolejny identyfikator GUID. Wartość ta jest jedynie identyfikatorem: sama w sobie nie tworzy wpisu w rejestrze, planu zasilania, pliku ani składnika systemu Windows.
Zachowaj GUID w zmiennej
Jeśli później w skrypcie będziesz potrzebować tego samego identyfikatora GUID, przypisz go do zmiennej jednokrotnie. Następnie odwołuj się do tej zmiennej zamiast generować za każdym razem inną wartość:
$newId = [guid]::NewGuid()
$newId.ToString()
Przypisz wynik raz, aby ta sama wartość była dostępna przez resztę sesji lub skryptu.
Zmienna zawiera Guidobiekt .NET. Wywołanie .ToString()konwertuje ją na tekst do wyświetlenia, zarejestrowania lub parametr, który oczekuje ciągu znaków. Aby zapisać kopię w pliku tekstowym na pulpicie, uruchom:
Spowoduje to zapisanie bieżącej wartości zmiennej w pliku o podanej nazwie. Jeśli zamkniesz program PowerShell przed zapisaniem lub skopiowaniem wartości, zmienna tymczasowa nie będzie już dostępna w nowej sesji.
Zamiast tego użyj polecenia cmdlet New-Guid
Program Windows PowerShell 5.1 jest zawarty New-Guidw module Microsoft.PowerShell.Utility. Wpisz polecenie cmdlet i naciśnij Enter:
New-Guid
Wbudowane polecenie cmdlet New-Guid stanowi krótką alternatywę w programie Windows PowerShell 5.1.
Zwraca obiekt GUID, podobnie jak [guid]::NewGuid(). Jeśli program PowerShell zgłosi, że New-Guidobiekt nie został rozpoznany, należy użyć metody statycznej pokazanej powyżej lub sprawdzić hosta za pomocą $PSVersionTable.PSVersion. W dokumentacji programu Windows PowerShell 5.1 firma Microsoft wymienia New-Guid jako obsługiwane polecenie cmdlet narzędzia .
Zrozumieć format GUID
Standardowy ciąg GUID zawiera 32 cyfry szesnastkowe oddzielone czterema myślnikami: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Typ .NET Guidobsługuje również inne formaty tekstowe. Na przykład $newId.ToString("N")zwraca cyfry bez myślników, a $newId.ToString("B")standardowy format jest ujęty w nawiasy klamrowe. Użyj formatu wymaganego przez aplikację lub polecenie odbierające wartość; nie dodawaj nawiasów klamrowych ani nie usuwaj myślników, chyba że interfejs akceptuje wybraną formę. Obsługiwane formaty można znaleźć w dokumentacji Guid.ToString firmy Microsoft.
Kiedy zamiast tego należy sprawdzić GUID
Jeśli potrzebujesz identyfikatora czegoś, co jest już skonfigurowane w systemie Windows, nie generuj niczego. Na przykład, uruchom powercfg /listprogram PowerShell lub wiersz polecenia, aby wyświetlić schematy zasilania na danym komputerze i ich identyfikatory GUID. Zwrócone wartości identyfikują istniejące schematy; losowy wynik polecenia nie będzie wskazywał na żaden z nich. Dokumenty referencyjne polecenia powercfg[guid]::NewGuid() firmy Microsoft zawierają informację o opcji, która wyświetla listę schematów zasilania i zwraca identyfikator GUID schematu./list
Mówiąc ogólnie, identyfikator GUID jest przydatny tylko wtedy, gdy oprogramowanie lub komponent systemu Windows, który go otrzymuje, obsługuje identyfikatory GUID i przechowuje lub rozpoznaje tę wartość. Utworzenie identyfikatora nie powoduje jego automatycznego zarejestrowania ani połączenia z elementem. Należy postępować zgodnie z dokumentacją odpowiedniego komponentu, aby zapoznać się z operacją, która wiąże wartość z ustawieniem, obiektem lub rekordem.
Czy GUID można bezpiecznie używać jako hasła lub tokena?
Nie. Identyfikator GUID służy do identyfikacji elementu, a nie jako hasło, klucz API ani inny sekret. Dokumentacja firmy Microsoft wyjaśnia, że tworzy on identyfikator UUID w wersji 4 w systemie Windows i odradza jego używanie do celów kryptograficznych. W przypadku tokenów uwierzytelniających lub kluczy tajnych należy użyć kryptograficznego interfejsu API opartego na liczbach losowych oraz zapoznać się z wytycznymi bezpieczeństwa dla systemu, który będzie weryfikował ten sekret. Przed użyciem identyfikatorów GUID w projektach wrażliwych na bezpieczeństwo Guid.NewGuid()należy zapoznać się z oficjalnymi uwagami dotyczącymi System.Guid.NewGuid .