¿Cómo generar un GUID en VBScript?
uuid (4)
Quiero generar cadenas GUID en VBScript. Sé que no hay una función incorporada en VBScript para generar una. No quiero usar GUID generados aleatoriamente. ¿Quizás hay un objeto ActiveX que se puede crear usando CreateObject () que seguramente se instalará en las versiones (más nuevas) de Windows que pueden generar un GUID?
¿Cómo puedo crear un GUID usando un script? (en: ¡Hola, Blog de Scripting Guy!) dice esto:
Set TypeLib = CreateObject("Scriptlet.TypeLib")
Wscript.Echo TypeLib.Guid
Sin embargo, tenga en cuenta que Scriptlet.TypeLib.Guid devuelve una cadena terminada en nulo, lo que puede hacer que algunas cosas ignoren todo después del GUID . Para arreglar eso, es posible que necesites usar:
Set TypeLib = CreateObject("Scriptlet.TypeLib")
myGuid = TypeLib.Guid
myGuid = Left(myGuid, Len(myGuid)-2)
Wscript.Echo myGuid
'' Returns a unique Guid on every call. Removes any cruft.
Function CreateGuid()
CreateGuid = Left(CreateObject("Scriptlet.TypeLib").Guid,38)
End Function
Function CreateGUID
Dim TypeLib
Set TypeLib = CreateObject("Scriptlet.TypeLib")
CreateGUID = Mid(TypeLib.Guid, 2, 36)
End Function
Esta función devolverá un GUID plano, por ejemplo, 47BC69BD-06A5-4617-B730-B644DBCD40A9
.
Si desea un GUID en un formato de registro, por ejemplo, {47BC69BD-06A5-4617-B730-B644DBCD40A9}
, cambie la última línea de la función a
CreateGUID = Left(TypeLib.Guid, 38)
Set tlib = Server.CreateObject("Scriptlet.TypeLib")
strGuid = tlib.Guid