16 October 2013

Stupid LCM Error EPMIE-25014

When loading groups.csv into Hyperion Shared Services (HSS) using Lifecycle Manager (LCM), you may see these errors:

Importing Artifact - Groups.
error /Native Directory/Groups - EPMIE-25014: Failed to import all of the membership info for group [group name1].
error /Native Directory/Groups - EPMIE-25014: Failed to import all of the membership info for group [group name2].
...
Migration Status - Completed with failures.

Basically, LCM couldn't find the member(s) (i.e. user or another group) referenced by some groups in its directory. To find the missing member, you have to look for the common missing member in the groups reported in the errors.

This is a stupid error message because LCM must know which member is missing but doesn't include it in the error message!

02 October 2013

UTC using WMI

I wanted to get the current time in UTC (i.e. time without any offset) but there doesn't seem to be a timezone-style function in VBA / VBScript. Here's a function using WMI (Windows Management Instrumentation) to get time in UTC and a hack to pad the numbers so that they always have two digits. The output has this format: yyyy/mm/dd hh:mm:ss

'VBA References
'1. Microsoft WMI Scripting 1.2 Library

Function Utc() As String
  Dim ws As WbemScripting.SWbemServices, colItem As WbemScripting.SWbemObjectSet, objItem As WbemScripting.SWbemObject

  Set ws = GetObject("winmgmts:\\localhost\root\CIMV2")
  Set colItem = ws.ExecQuery("SELECT * FROM Win32_UTCTime")
  For Each objItem In colItem
    Utc = objItem.Year & "/" & Right("00" & objItem.Month, 2) & "/" & Right("00" & objItem.Day, 2) _
      & " " & Right("00" & objItem.Hour, 2) & ":" & Right("00" & objItem.Minute, 2) & ":" & Right("00" & objItem.Second, 2)
  Next

End Function