Powershell将整数转换为guid

时间:2017-07-21 09:59:35

标签: powershell

我正在尝试通过powershell将整数(或字符串中的数字)转换为guid,我已经使用了以下内容并且无法找到其他方法。它有可能吗?

$myId = [System.Guid]::Parse("123456789")

Exception calling "Parse" with "1" argument(s): "Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)."

当我没有引号时也会发生同样的情况,仅在解析函数中编号。

3 个答案:

答案 0 :(得分:2)

你不能。 GUID是128位值,方式大于普通整数。 parse method需要良好的输入。

要将整数转换为guid,请尝试添加前导零。像这样,

[System.Guid]::Parse("0"*23 + "123456789")

Guid
----
00000000-0000-0000-0000-000123456789

答案 1 :(得分:1)

尝试

$myId = [System.Guid]::Parse("12345678-1234-1234-1234-123456789123")
$myId | gm
TypeName: System.Guid

答案 2 :(得分:0)

这是一种更动态的方式,它考虑了代表整数的字符串的长度

$foo = 123456
[System.Guid]::Parse("0"*(32-$foo.ToString().Length) + $foo.ToString())