System.EnterpriseServies.Wrapper.dll missing in Powershell Work Flow - powershell-remoting

I run Server 2008 R2 as a workstation (mainly to get Hyper-V IIS 7.5). I’ve been playing around with this system for a while and it’s hardly pure! ;-)
Today, I loaded the latest set of patches, and took the reboot opportunity to add the rtm version of PowerShell v3. I duly removed the PowerShell V3 beta, applied the monthly patches, rebooted, then added the new version of PowerShell and rebooted again.
However, I now have an issue: Anytime I try to run a workflow, I get:
PSH [C:\foo]: Provision-AD # Run the workflow
The workflow ' Provision-AD ' could not be started: Could not load file or assembly 'System.EnterpriseServices.Wrapper.dll' or one of its
dependencies. An attempt was made to load a program with an incorrect format.
At line:321 char:21
+ throw (New-Object System.Management.Automation.ErrorRecord $ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (System.Manageme...etersDictionary:PSBoundParametersDictionary) [], RuntimeException
+ FullyQualifiedErrorId : StartWorkflow.InvalidArgument

The solution was easy. I did a re-install of the .NET Framework 4.0 and all is now well!

Related

Persistent error with Newtonsoft.Json.JsonReaderException

I have been attempting to run commands from the AzureAD powershell module, but I am consistently getting Json errors.
The issue is so persistent no matter what commands I run, I am wondering if the Newtonsoft.Json package is misconfigured and needs to be reinstalled.
Example:
New-AzureADServiceAppRoleAssignment -Id "any id" -ResourceId "any id" -ObjectId "any id" -PrincipalID "any id"
Output:
Error reading JToken from JsonReader. Path '', line 0, position 0
At line:1 char:1
New-AzureADServiceAppRoleAssignment -Id ....
CategoryInfo : NotSpecified: (:) [New-AzureADServiceAppRoleAssignment], JsonReaderException
FullyQualifiedErrorId: Newtonsoft.Json.JsonReaderException.Microsoft.Open.AzureAD16.Powershell.NewServicePrincipalAppRoleAssignment.
I tried in my environment and got successfully created a new app role service principal assignments:
Commands:
Connect-AzureAD
New-AzureADServiceAppRoleAssignment -ObjectId $servicePrincipal.ObjectId -PrincipalId $servicePrincipal.ObjectId -ResourceId $resourceApp.ObjectId -Id $permission.Id
Console:
Portal:
Make sure you are using latest version of Newtonsoft.json.
if you are using lower version, try to uninstall and reinstall the latest version by below command:
Install-Module -Name newtonsoft.json -RequiredVersion 1.0.1.2
If the error is still persisting uninstall AzureAD module reinstall the AzureAD-Module confirm all the traffic can be passed the network policy (Firewall) .
Verify if you are using the latest version of Azure AD PowerShell module? Also, validate if your local machine's firewall is restricting the command? Or if you're connected to any VPN or organizational laptop.
If AzureAD module is already installed, Install new version(2.0.2.140).
Command:
Install-Module -Name AzureAD --Allowclobber
Reference:
Getting error when running script · Issue #2 · adrecon/AzureADRecon (github.com)

Can you package an Adobe AIR app as UWP using Project Centennial?

I'm trying to complete a proof-of-concept, but I have hit a snag. With Adobe AIR able to support iOS and Android, I wanted to see if I could use the Project Centennial workflow to convert an Adobe AIR .exe installer, into a UWP app for x86 Windows 10.
I have been able to follow the directions for the latest version (0.1.24) and have been able to get the conversion started:
.\DesktopAppConverter.ps1 -Installer '..\AIR2UWP Example\AIR2UWP.exe'
-InstallerArguments "-silent" -Destination C:\ -PackageName "MyApp" -Version 0.0.0.1 -MakeAppx -Verbose -Publisher "CN=dougwinnie"
But when I use this, I get the following error:
C:\Users\dougw\Desktop\DesktopAppConverter_new\DesktopAppConverter.ps1
: DesktopAppConverter : error 'E_BAD_INSTALLER_EXIT_CODE': Installer
returned '10' when valid exit codes were '0' At line:1 char:1
+ .\DesktopAppConverter.ps1 -Installer '..\AIR2UWP Example\AIR2UWP.exe' ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,DesktopAppConverter.ps1
It seems that there is an installer error, but I can't seem to find any references to an AIR installer code 10 to help me troubleshoot further.
Thanks in advance...
It seems that there is an installer error, but I can't seem to find any references to an AIR installer code 10 to help me troubleshoot further
It’s up to the developer who owns the AIR platform to understand what is and is not a valid exit code for their setup technology(Adobe Air)
Can you package an Adobe AIR app as UWP using Project Centennial
Air apps might not be a good candidate as the Adobe air platform works and looks like ClickOnce. Specifically, the Air platform installs an auto-update service that provides an API for the Air app to check to see if updates are available. If you disable/remove that service, it’s very likely that no Air app will function as expected as the RPC call will likely fail.
In order to let Air apps works, we'd have to get Adobe to update the Air platform to be compatible with Centennial/UWP.

cuda vs2013 v120xp compile error

I'm using VS2013(update 4) + CUDA 6.5 + win7-32bit
My CUDA program compiles fine without the v120xp option, I need it support winXP. But there're lots of compile error with v120xp specified.
To reproduce the problem:
Create a new project with VS2013's CUDA wizard
Change the Platform Toolset to Visual Studio 2013 - Windows XP (v120_xp)
Compile
The compile error looks like:
1>G:\vs2013\VC\include\yvals.h(666): error : expected a ";"
1>G:\vs2013\VC\include\yvals.h(667): error : expected a ";"
1>G:\vs2013\VC\include\exception(460): error : "explicit" is not allowed
1> kernel.cu
I also compiled the program with CMake, everything is ok(with the v120_xp). Though I write code with CMake, my company uses VS2013, so I need to generate a VS2013 project for my colleagues.
How to make it compile? Thanks.
Finally, a workaround for this:
Don't change the Platform Toolset, leave it as v120, and add /SUBSYSTEM:WINDOWS,5.01 or /SUBSYSTEM:CONSOLE,5.01 manually in Command Line setting

Powershell script returns exception when using ADSI

I get exceptions when executing a Power shell script (v1.0) on Windows Server 2008 (32 bit).
It uses ADSI for searching a virtual directory before its deletion.
I get the following exception:
Exception calling "Find" with "2" argument(s): "Exception from HRESULT: 0x80005008"
At line:1 char:29
+ $iisMgr.psbase.children.find <<<< ("MyVirtualDir", $iisMgr.psbase.SchemaClassName)
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
This is the code:
$vDirPath = "IIS://localhost/W3SVC/1/Root"
$iisMgr = [adsi]$vDirPath
$iisMgr.psbase.children.find("MyVirtualDir", $iisMgr.psbase.SchemaClassName)
(edit): from several blogs I read that the IIS6 Management Compatibility role service must be enabled to get the ADSI provider installed, and I already have it enabled, still having this exception...
Do you try with only one parameter ?
$iisMgr.psbase.children.find("MyVirtualDir")
I dont know there, but I've this kind of COM error when I invoke a method with the bad number of arguments.
JP
Just some ideas:
Do you authenticate when doing ADSI interaction?
I guess you are not making use of the Global Catalog as per your example of $vDirPath. In any case have a peek at See How to Modify Attributes That Replicate to the Global Catalog
Try running your Powershell session with elevated user rights (Right-Click Run As Administrator)

Problems using SQL Server 2008 R2 PowerShell extensions outside of SQLPS

I would like to have the SQL Server PowerShell extensions available to me whenever I start PowerShell by loading the snap-ins in my profile.ps1 script. I found an article here with a script example that shows how to do this, and this works fine on my 32-bit Windows XP box.
Unfortunately, on my 64-bit Windows 7 machine, this blows up. If I try to launch this script with the 64-bit PowerShell, I get:
Add-PSSnapin : No snap-ins have been registered for Windows PowerShell version 2.
At C:\Users\xxxx\Documents\WindowsPowerShell\profile.ps1:84 char:13
+ Add-PSSnapin <<<< SqlServerCmdletSnapin100
+ CategoryInfo : InvalidArgument: (SqlServerCmdletSnapin100:String
[Add-PSSnapin], PSArgumentException
+ FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand
If I run this instead in a 32-bit PowerShell, I get:
Get-ItemProperty : Cannot find path 'HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds \Microsoft.SqlServer.Management.PowerShell.sqlps' because it does not exist.
At C:\Users\xxxx\Documents\WindowsPowerShell\profile.ps1:39 char:29
+ $item = Get-ItemProperty <<<< $sqlpsreg
+ CategoryInfo : ObjectNotFound: (HKLM:\SOFTWARE\...owerShell.sqlps:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
I'd like to be able to run this in a 64-bit PowerShell if possible. To this end, I tracked down what I thought was the Powershell extension dlls and in a 64-bit Administrator elevated PowerShell I ran:
cd "C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn"
installutil Microsoft.SqlServer.Management.PSProvider.dll
installutil Microsoft.SqlServer.Management.PSSnapins.dll
No dice. Although installutil seemed to indicate success, I still get the "No snap-ins have been registered for Windows PowerShell version 2" error message when I run the script.
Anyone have any suggestions as to where I go from here?
I've used this script without issue on x64 machines. The problem with the x86 invocation is that the script looks for registry keys which on an x64 instance are only accessible from x64 PowerShell. For the x64 invocation you could try registering the snapins since that is the error message you're receiving. Run as administrator...
Change this:
cd $sqlpsPath
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100
to this:
cd $sqlpsPath
$framework=$([System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory())
Set-Alias installutil "$($framework)installutil.exe"
installutil Microsoft.SqlServer.Management.PSSnapins.dll
installutil Microsoft.SqlServer.Management.PSProvider.dll
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100
An even better solution is not use add-pssnapin instead turn sqlps into a module. I have blog post here:
http://sev17.com/2010/07/10/making-a-sqlps-module
Update for SQL Server 2012 - now ships a sqlps module you can install instead of the above blog: http://www.microsoft.com/en-us/download/details.aspx?id=35580
I realise this is a bit of an older question but with a stock standard Windows and SQL Server 2012 install you can just directly use the command Invoke-Sqlcmd without loading anything beforehand as it will auto import the sqlps module. However letting it do that will often cause issues so import the module yourself with the lines below in the same place in your code as you used to use the add-pssnapin commands
$cur = Get-Location
Import-Module 'sqlps' –DisableNameChecking
Set-Location $cur
Similar to that posted on this MS web forum.
The import-module line above changes the current path to something that makes UNC path strings like "\\server\share\path\filename.ext" not work with lots of cmd-lets. So we store the current path before and change it back after the import-module command.
It's possible the snapin assemblies are compiled for x86 only due to dependencies on native 32bit SMO COM objects. If it was possible to run them in a 64bit shell, I'm pretty sure MS would have shipped both x86 and x64 management shells.