1

I have a user that is used to run Powershell scripts, triggered by the Windows task scheduler on a Windows 2012RC2 server. The scripts use specific Snap-ins, which are added at the start of the script.

The scripts fail and when I manually tried to find the root cause of the issue by running a Powershell on the server as said user, I found out that the user is unable to add the snap-in:

asnp <snap-in> + asnp <snap-in> + ~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (<snap-in>:String) [Add-PSSnapin], PSArgumentException + FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand 

It works fine if I run the same command in the Powershell as the Administrator.

How do I permit the user to add snap-ins in the Powershell on the server?

2
  • Have you tried to configure the task to run with the "highest privileges"? Commented Oct 28, 2016 at 11:13
  • I didn't see that option! Thanks for the hint. The task is currently running, I'll retry once it's done, without local admin rights. Commented Oct 28, 2016 at 11:19

1 Answer 1

0

Looks like the snap-in is not available to the user, either because it was not installed correctly, or because it was placed in a location restricted to administrators (or specific to Administrator only).

Have a look here as a starting point, and then try using get-pssnapin -registered to check whether the snap-in is indeed registered and available; try running the command both as Administrator and as the troubled user.

See also here about registering snap-ins.

4
  • get-pssnapin -registered returns nothing with the user in question and the required snap-in with the Administrator, so that seems to be the issue. Trying to register the .dll, but I don't seem to have the installutil in C:\Windows\Microsoft.NET\Framework\v2.0.50727. Commented Oct 28, 2016 at 6:20
  • oh wow. the user didn't have the permissions to register the snap-in. I've now added the user to the local administrators and it seems to work. If you happen to know how I can allow the user to register the dll without local admin rights, I'd be happy though! Commented Oct 28, 2016 at 6:29
  • This is strange, the registration should be global (that's the whole point of needing administrative rights to perform it). Anyway, after the snap-in is registered, the user no longer needs administrive rights to actually use it. Commented Oct 28, 2016 at 6:41
  • Once I added the user to the local Administrators, the snap-in was already registered.. Commented Oct 28, 2016 at 7:03

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.