Get-OID.psm1
function Get-OID { [alias("Generate-OID")] [cmdletbinding()] param() $Prefix="1.2.840.113556.1.8000.2554" $GUID=[System.Guid]::NewGuid().ToString() $Parts=@() $Parts+=[UInt64]::Parse($guid.SubString(0,4),"AllowHexSpecifier") $Parts+=[UInt64]::Parse($guid.SubString(4,4),"AllowHexSpecifier") $Parts+=[UInt64]::Parse($guid.SubString(9,4),"AllowHexSpecifier") $Parts+=[UInt64]::Parse($guid.SubString(14,4),"AllowHexSpecifier") $Parts+=[UInt64]::Parse($guid.SubString(19,4),"AllowHexSpecifier") $Parts+=[UInt64]::Parse($guid.SubString(24,6),"AllowHexSpecifier") $Parts+=[UInt64]::Parse($guid.SubString(30,6),"AllowHexSpecifier") $out = [String]::Format("{0}.{1}.{2}.{3}.{4}.{5}.{6}.{7}",$prefix,$Parts[0],$Parts[1],$Parts[2],$Parts[3],$Parts[4],$Parts[5],$Parts[6]) try { $out | Set-Clipboard -ErrorAction Stop $output = " copied to clipboard" $length = $out.Length + $output.Length $dashes = "-" * $length Write-Host "$dashes" Write-Host "$out" -ForegroundColor Red -NoNewline Write-Host "$output" -ForegroundColor Green Write-Host "$dashes" } catch { Write-Warning $Error[0].Exception.Message } } |