Sample code for 30+ languages & platforms
PowerShell

Generate Monotonic ULIDs

See more ULID/UUID Examples

Generate a sequence of monotonic ULIDs all using the same seed time. This code sample generates a series of ULIDs with continuously increasing values.

Important: Chilkat's ULID functionality was introduced in v9.5.0.94.

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$seedDt = New-Object Chilkat.CkDateTime

# You can set the seed time to any desired value.
# In this example, the seed time is set to the current system date/time.
$seedDt.SetFromCurrentSystemTime()

# Generate the 1st ULID in the series.
# (i.e. the current UTC UNIX-time)
$utc = $true
$ulid = $seedDt.UlidGenerate($utc)
$($ulid)

# Store the ULID in a Chilkat StringBuilder to generate the series.
$sbUlid = New-Object Chilkat.StringBuilder
$sbUlid.Append($ulid)

$i = 0
while ($i -lt 50) {
    $seedDt.UlidIncrement($sbUlid)
    $($sbUlid.GetAsString())
    $i = $i + 1
}

# Sample output:

# 01GRGH30H8DMQ4F9A0XCTZHPGM
# 01GRGH30H8DMQ4F9A0XCTZHPGN
# 01GRGH30H8DMQ4F9A0XCTZHPGP
# 01GRGH30H8DMQ4F9A0XCTZHPGQ
# 01GRGH30H8DMQ4F9A0XCTZHPGR
# 01GRGH30H8DMQ4F9A0XCTZHPGS
# 01GRGH30H8DMQ4F9A0XCTZHPGT
# 01GRGH30H8DMQ4F9A0XCTZHPGV
# 01GRGH30H8DMQ4F9A0XCTZHPGW
# 01GRGH30H8DMQ4F9A0XCTZHPGX
# 01GRGH30H8DMQ4F9A0XCTZHPGY
# 01GRGH30H8DMQ4F9A0XCTZHPGZ
# 01GRGH30H8DMQ4F9A0XCTZHPH0
# 01GRGH30H8DMQ4F9A0XCTZHPH1
# 01GRGH30H8DMQ4F9A0XCTZHPH2
# 01GRGH30H8DMQ4F9A0XCTZHPH3
# 01GRGH30H8DMQ4F9A0XCTZHPH4
# 01GRGH30H8DMQ4F9A0XCTZHPH5
# 01GRGH30H8DMQ4F9A0XCTZHPH6
# 01GRGH30H8DMQ4F9A0XCTZHPH7
# 01GRGH30H8DMQ4F9A0XCTZHPH8
# 01GRGH30H8DMQ4F9A0XCTZHPH9
# 01GRGH30H8DMQ4F9A0XCTZHPHA
# 01GRGH30H8DMQ4F9A0XCTZHPHB
# 01GRGH30H8DMQ4F9A0XCTZHPHC
# 01GRGH30H8DMQ4F9A0XCTZHPHD
# 01GRGH30H8DMQ4F9A0XCTZHPHE
# 01GRGH30H8DMQ4F9A0XCTZHPHF
# 01GRGH30H8DMQ4F9A0XCTZHPHG
# 01GRGH30H8DMQ4F9A0XCTZHPHH
# 01GRGH30H8DMQ4F9A0XCTZHPHJ
# 01GRGH30H8DMQ4F9A0XCTZHPHK
# 01GRGH30H8DMQ4F9A0XCTZHPHM
# 01GRGH30H8DMQ4F9A0XCTZHPHN
# 01GRGH30H8DMQ4F9A0XCTZHPHP
# 01GRGH30H8DMQ4F9A0XCTZHPHQ
# 01GRGH30H8DMQ4F9A0XCTZHPHR
# 01GRGH30H8DMQ4F9A0XCTZHPHS
# 01GRGH30H8DMQ4F9A0XCTZHPHT
# 01GRGH30H8DMQ4F9A0XCTZHPHV
# 01GRGH30H8DMQ4F9A0XCTZHPHW
# 01GRGH30H8DMQ4F9A0XCTZHPHX
# 01GRGH30H8DMQ4F9A0XCTZHPHY
# 01GRGH30H8DMQ4F9A0XCTZHPHZ
# 01GRGH30H8DMQ4F9A0XCTZHPJ0
# 01GRGH30H8DMQ4F9A0XCTZHPJ1
# 01GRGH30H8DMQ4F9A0XCTZHPJ2
# 01GRGH30H8DMQ4F9A0XCTZHPJ3
# 01GRGH30H8DMQ4F9A0XCTZHPJ4
# 01GRGH30H8DMQ4F9A0XCTZHPJ5
# 01GRGH30H8DMQ4F9A0XCTZHPJ6