Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Powershell - why as administrator?

Posted on 2012-04-03
7
Medium Priority
?
1,402 Views
Last Modified: 2012-04-18
Hi,
    I am trying to learn the basics of powershell.  I have found what seems like an excellent tutorial but I think am having issues with permissions.

The tutoral I am looking at has been covering using powershell to look at services, an excellent example as it relates to something that many people are familiar with.

Anyway my user profile is a in the local administrator group and also the domain admin group.  I can stop and start sevices use the GUI no problems.  However when I try to stop or start a service in powershell it gives me an error.  Here is an example of the issue - I start by getting the status of the service:

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

PS X:\myname\PowerShell\MyScripts> get-service -name bthserv

Status   Name               DisplayName
------   ----               -----------
Stopped  bthserv            Bluetooth Support Service


This is fine but when I try to start the service using PowerShell I get this error:

PS X:\myname\PowerShell\MyScripts> start-service -name bthserv
Start-Service : Service 'Bluetooth Support Service (bthserv)' cannot be started due to the following error: Cannot ope
 bthserv service on computer '.'.
At line:1 char:14
+ start-service <<<<  -name bthserv
    + CategoryInfo          : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service],
   ServiceCommandException
    + FullyQualifiedErrorId : CouldNotStartService,Microsoft.PowerShell.Commands.StartServiceCommand

PS X:\myname\PowerShell\MyScripts>


When I run powershell as administrator it works fine.  I guess what I am trying to understand is why as a user I can runs services via the GUI but not PowerShell.

Thanks in Advance
Bob
0
Comment
Question by:TCBob
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +1
7 Comments
 
LVL 5

Expert Comment

by:2Cs
ID: 37800416
Right click PowerShell and select 'Run As Administrator'.
0
 
LVL 5

Expert Comment

by:2Cs
ID: 37800422
Or right click and open the properties of the shortcut (hold shift as well if located on the taskbar), then click Advanced and check the box, run as administrator.

That way the application will always run as administrator and you wont have to right click every time you want to use it.

It is to do with UAC and built-in security for Windows 7, this is meant to stop nasty applications running or executing script without being prompted in the secure desktop to do so first.
0
 

Author Comment

by:TCBob
ID: 37800706
Hi, thanks for your comment.  I am fine with how to actually run Powershell as administrator, as I said in my original post I know it works when I run powershell as admin.  I was just more interested in why I have to run as admin when I have both local and domain admin rights?
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
LVL 71

Expert Comment

by:Qlemo
ID: 37849363
Well, if you switch off UAC, you can control services from the shell, too ;-).

The Service applet (services.msc) is run with elevated privileges (if available) automatically, IIRC.
0
 
LVL 16

Accepted Solution

by:
ThinkPaper earned 2000 total points
ID: 37858146
TCBob - that's because UAC is enabled on your machine. So if you try to run anything that requires elevated privileges (i.e. any of the administrative tools or run some admin stuff through command line) it will require that you run as admin. That's simply how it works. It's an additional security measure to prevent the wrong people from running administrative services.

That's how it is at my work.. I have to "run as administrator" anytime I need to run elevated services (i.e. active directory, exchange management console, powershell, computer management, etc..)

If that annoys you, you can turn UAC off.
0
 

Author Closing Comment

by:TCBob
ID: 37860528
Thanks very much for taking the time to explain.  I was just a little confussed as I have admin rights anyway.  Nevermind, no biggie.
Bob
0
 
LVL 16

Expert Comment

by:ThinkPaper
ID: 37861621
Yeah, it kind of is a pain, especially when you're ALREADY logged on as admin. Our setup requires us to run as admin and then re-enter our admin credentials again (even though we're logged in). If this type of security is too stringent for you, you can definitely turn it off. But if your environment is where security is key, you may want to leave it on.
0

Featured Post

Tech or Treat!

Submit an article about your scariest tech experience—and the solution—and you’ll be automatically entered to win one of 4 fantastic tech gadgets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A project that enables an administrator to perform actions within a user session context not just at the time of login but any time later on day(s) or week(s) later.
In the absence of a fully-fledged GPO Management product like AGPM, the script in this article will provide you with a simple way to watch the domain (or a select OU) for GPOs changes and automatically take backups when policies are added, removed o…
Loops Section Overview
Screencast - Getting to Know the Pipeline

610 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question