Most of the time, you will work with GUIDs as an administrator or developer. So, it is important for you to understand how to generate GUIDs in PowerShell. In this tutorial, I will explain how to create a Globally Unique Identifier (GUID) using PowerShell with some examples.
What is a GUID?
A GUID (Globally Unique Identifier) is a 128-bit integer used to uniquely identify information in computer systems. GUIDs are widely used in software development, databases, and network protocols to ensure that identifiers are unique across different systems and time zones.
Why Use GUIDs?
GUIDs are crucial for:
- Database Keys: Ensuring that primary keys are unique across distributed databases.
- Software Development: Generating unique identifiers for objects, sessions, and transactions.
- Configuration Files: Creating unique identifiers for settings and configurations.
Read Rename a Computer Using PowerShell
Create a GUID in PowerShell
In PowerShell, it is easy to create a GUID. PowerShell provides a simple and efficient way to generate GUIDs using built-in cmdlets.
Using the New-Guid Cmdlet
The New-Guid cmdlet is part of the Microsoft.PowerShell.Utility module and is automatically available in PowerShell. This cmdlet generates a new GUID each time it is called.
Example 1: Basic GUID Generation
Here’s a simple example of generating a GUID:
$guid = New-Guid
Write-Output $guidThis command creates a new GUID and stores it in the $guid variable. The Write-Output cmdlet then prints the GUID to the console.
I executed the above PowerShell script, and you can see the exact output in the screenshot below:

Example 2: Storing GUID in a Variable
If you want to store the GUID for later use, you can assign it to a variable:
$uniqueID = New-Guid
Write-Output "Your new GUID is: $uniqueID"This example stores the GUID in the $uniqueID variable and prints a message with the new GUID.
Check out PowerShell Select-Object
Using the [guid]::NewGuid() Method
Another way to generate a GUID in PowerShell is by using the [guid] type accelerator. This method is slightly more verbose but equally effective. Let me show you some examples.
Example 3: Using [guid]::NewGuid()
$guid = [guid]::NewGuid()
Write-Output $guidThis command generates a new GUID using the [guid]::NewGuid() method and prints it to the console.
Here is the exact output in the screenshot below:

Format GUIDs in PowerShell
Sometimes, you may need to format GUIDs to meet specific requirements. PowerShell allows you to format GUIDs in various ways.
Example 4: Formatting GUID with Curly Braces
To format a GUID with curly braces, you can use the ToString method:
$guid = [guid]::NewGuid()
$formattedGuid = $guid.ToString("B")
Write-Output $formattedGuidIn this example, the ToString("B") method formats the GUID with curly braces.
Read 100 PowerShell Interview Questions and Answers
Real-World Examples of Creating GUID in PowerShell
Let’s look at some real-world examples where GUIDs are useful.
Example 5: Creating Unique Database Keys
In a database, you might need to create unique keys for records. Here’s how you can generate a GUID for a new record in PowerShell:
$recordID = [guid]::NewGuid()
Write-Output "New record ID: $recordID"This command generates a unique identifier for a new database record.
Example 6: Generating Session IDs
For web applications, generating unique session IDs is crucial for tracking user sessions. Here’s an example:
$sessionID = New-Guid
Write-Output "Session ID: $sessionID"This command creates a unique session ID for a user session.
Example 7: Creating Configuration Identifiers
When managing configuration files, you might need unique identifiers for different settings. Here’s how to generate a GUID for a configuration setting:
$configID = [guid]::NewGuid()
Write-Output "Configuration ID: $configID"This command generates a unique identifier for a configuration setting.
Read Create Tables with Multiple Columns in PowerShell
Troubleshooting Common Issues
While generating GUIDs in PowerShell is generally straightforward, you might encounter some issues. Here are common problems and their solutions:
Issue 1: PowerShell Cmdlet Not Recognized
If you receive an error indicating that New-Guid is not recognized, ensure that the Microsoft.PowerShell.Utility module is loaded:
Import-Module Microsoft.PowerShell.UtilityIssue 2: Formatting Errors
If the GUID is not formatted as expected, double-check the format string used in the ToString method. For example, "B" formats the GUID with curly braces, while "D" formats it without braces.
Issue 3: Duplicate GUIDs
While the likelihood of generating duplicate GUIDs is extremely low, it is not impossible. Ensure that your GUID generation logic does not inadvertently reuse GUIDs.
Conclusion
PowerShell makes it easy to generate GUIDs using the New-Guid cmdlet or the [guid]::NewGuid() method. I explained how to create a GUID in PowerShell using different methods in this tutorial.
You may also like:
- How to Find Logged In User Using PowerShell?
- Find Installed Software Using PowerShell
- How to Uninstall a Program with PowerShell?
Bijay Kumar is an esteemed author and the mind behind PowerShellFAQs.com, where he shares his extensive knowledge and expertise in PowerShell, with a particular focus on SharePoint projects. Recognized for his contributions to the tech community, Bijay has been honored with the prestigious Microsoft MVP award. With over 15 years of experience in the software industry, he has a rich professional background, having worked with industry giants such as HP and TCS. His insights and guidance have made him a respected figure in the world of software development and administration. Read more.