- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi all,
I am using PowerShell 4.0 to call up SAS EG object for generating reports.
$eguideApp=New-Object -comObject "SASEGObjectModel.Application.7.1"
Occasionally exception would be thrown with the following information in the error log:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: The type initializer for 'SAS.Shared.SharedEnvironment' threw an exception. ---> System.Management.ManagementException: Provider load failure
at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
at System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext()
at SAS.Shared.HWInfo.InitInfo()
at SAS.Shared.SharedEnvironment..cctor()
--- End of inner exception stack trace ---
at SAS.Shared.SharedEnvironment.get_SharedDataFolder()
at SAS.EG.Scripting.Application..ctor(String _cmdLineProvider)
--- End of inner exception stack trace ---
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, Object[] args)
at Microsoft.PowerShell.Commands.NewObjectCommand.SafeCreateInstance(Type t, Object[] args)
at Microsoft.PowerShell.Commands.NewObjectCommand.CreateComObject()
at Microsoft.PowerShell.Commands.NewObjectCommand.BeginProcessing()
at System.Management.Automation.Cmdlet.DoBeginProcessing()
at System.Management.Automation.CommandProcessorBase.DoBegin() :
I have no idea what 's going on and try again to make all the things done.
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am not sure about what is going on over there, but I can imagine the following possibilities:
1 - A provider is failing, as your log mentions. For troubleshooting this, you can follow this wonderful guide https://blogs.technet.microsoft.com/heyscriptingguy/2012/09/12/use-powershell-to-troubleshoot-provid...
2- When you manually load/run the EG client, are you finding any error anytime? Please check.
- Probably you can enable the Logs of Enterprise guide and see if there is anything over there: http://support.sas.com/kb/55/414.html
3- I can see an error related to the load/location of the Shared Data folder, which is strange, unless you already made connection to a metadata server. If you did, maybe there is something on the metadata server logs (permissions on the Shared Data folder?)
4- Less frequent, but also possible, maybe not all the dlls of EG or .NET are properly registered. For .NET I suggest a clean re-installation of the framework, and for EG, you can run EGuide.exe -register (or /register).
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks but I still could not work out the solution in these few weeks.
1. Still trying but no hints can be found.
2. Manual launch did not show the error.
3. A connection has been set in the default profile an credential. I am not sure whether the connection is establishing once "new-object" is called.
4. I also think in this way. But not sure which .dlls I have to re-register.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
I think the exception is happening when EG is trying to connect to your SAS environment using your stored credentials. I don't know why it's happening, but if your script is running several times in succession or in parallel, perhaps it's a contention issue. I don't think it's a DLL registration problem -- the fact that you're getting into EG application code shows that the EG object model is properly registered.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
You are right. It's hard to find out what is going on.
I try to inspect the log files "powershell_log.#####.txt" generated by EG.
It was embarrassed that no such file generated when the problem occurred. The case was stuck on "New-Object" of "SASEGObjectModel". The case did not reproduce every time and occurred in an random manner. It was pretty hard to troubleshoot.
My information was only relied on the $_.Exception catched by PowerShell script.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
WMI-activity has been shown the following event:
Id = {DC7E0B54-5DA3-0006-5A2B-83DCA35DD101}; ClientMachine = ABCDIIS01; User = contoso\user; ClientProcessId = 5288; Component = Unknown; Operation = Start IWbemServices::CreateInstanceEnum - root\cimv2 : Win32_ComputerSystem; ResultCode = 0x80041013; PossibleCause = Unknown