Windows IT Pro is the authoritative and independent resource for windows nt, windows 2000, windows 2003, windows xp. Features a collection of resources and magazines for windows IT professionals.
  
  
  Advanced Search 


December 2006

Taking 3 Swings at SC

It might take a few tries to get create services just right
RSS
Subscribe to Windows IT Pro | See More Scripting Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!

Last month, in "The All-Purpose Service Controller" (InstantDoc ID 93400), I gave you a taste of SC (sc.exe), the powerful Windows command-line tool for controlling services. This month, let's take a crack at just one of SC's subcommands—the one that lets you create new services. In the process, we'll gather some details about how services work that you might not know.

Give It a Try
Suppose you want to install a new service that grabs images from a Web cam every few minutes and emails them to a certain address. This service was free, and it wasn't well documented. All you know is that the service is called wcmail.exe, and you've downloaded it to C:\wc\wcmail.exe. The simplest SC setup command is

sc create Webimagemailer binpath= C:\wc\wcmail.exe 

to which SC would respond with the terse message [SC] CreateService SUCCESS.

This command accomplishes several tasks. First, it creates a subkey in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services called Webimagemailer. Inside that subkey, SC creates further subkeys named Enum and Security—subkeys that most services have. Inside these subkeys are a number of configuration options that SC sets, but you'll have the opportunity to fine-tune them later. One of these options, ImagePath, contains the service's location, which we fed to SC through the binpath= parameter. (SC is strange about its parameters, in this case requiring a space between the equals sign and the parameter.)

Investigating the Microsoft Management Console (MMC) Services snap-in reveals that you now have a service called Webimagemailer—a manual startup service running under the LocalSystem account. You could have used the start= parameter—which takes boot, system, auto, demand (the SC phrase for manual startup,) or disabled—to configure the startup setting. Similarly, you could have used the obj= username parameter to control the account under which SC runs. Also, you might be very security conscious and not want a service that you don't know very well running under the Local-System account, so you could craft an account called, say, webcamguy with a password of swordfish and just the permissions it needs to let wcmail.exe get the job done—but no more. And while you're at it, the name Webimagemailer looks a bit ungainly in the Services snap-in. By using the displayname= "descriptive name" option, you can make it look more attractive in the list of services.

Try Again
OK, so you want to try creating an improved command that works better for you. To delete your first try and make room for the second, type

sc delete Webimagemailer 

That command marks the service for deletion; you'll have to reboot for it to take effect. Now, you can add your new startup type, service account, and display name:

sc create webimagemailer binpath= C:\wc\wcmail.exe 
  start= auto displayname= "Web cam image mailer" 
  obj= .\webcamguy password= swordfish 

Remember to leave that space after the equals sign, or you'll find SC infuriating.

Now, Fine-Tune It
Suppose the service works fine, but it's got an annoying, intermittent habit. If you disconnect the Web cam from the computer for some reason and forget to reconnect it, you get that irritating At least one service or driver failed during startup message every time you boot the computer. The Web cam service is nice, but it's not so important that you need incessant reminders that there's no Web cam. So, it would be nice to suppress that message.

You can use the error= parameter to do that. Windows watches how services start up, and you can configure the OS's response to failed startups in four ways: normal, the default option, displays the message and starts Windows normally; ignore, the option you want, just puts a note in the event log; severe recognizes the importance of the service or driver and triggers the OS to reboot to the Last Known Good configuration; and critical triggers Windows to reboot to the Last Known Good configuration but to bluescreen the system if the driver or service still won't load.

So, delete the service, reboot, add the error= ignore parameter, and everything should be fine—at least, until you realize that you need to work out a certain dependency problem. But that's fodder for next month's column.

End of Article



Reader Comments

You must log on before posting a comment.

If you don't have a username & password, please register now.




Top Viewed ArticlesView all articles
CES 2009: Ballmer Announces Windows 7, Windows Live, Live Search Milestones

During his first-ever Consumer Electronics Show (CES) 2009 keynote address last night in Las Vegas, Microsoft CEO Steve Ballmer announced the pending public availability of a feature-complete Windows 7, the final version of Windows Live Essentials, and ...

Command Prompt Tricks

One reader shares his tip for setting up the command prompt to reflect a remote path. ...

Where is Microsoft NetMeeting in Windows XP?

...


Related Articles Castaway on Command-Prompt Island

Windows OSs Whitepapers Why SaaS is the Right Solution for Log Management

Related Events Virtualization Forum: Optimizing Storage, Networks, Desktops, and Security

Cloud Computing Forum: Integrating Software, Server and Storage as a Service into Your Enterprise IT Delivery Model

Virtualization Forum: Optimizing Storage, Networks, Desktops, and Security

Check out our list of Free Email Newsletters!

Scripting eBooks Keeping Your Business Safe from Attack: Encryption and Certificate Services

Best Practices for Managing Linux and UNIX Servers

Building an Effective Reporting System

Related Scripting Resources Become a VIP member of the Windows IT Pro community!
Get it all with the VIP CD and VIP access. A $500+ value for only $279!

Subscribe to Windows IT Pro!
Solve your toughest technical problems with our experts and access 10,000 + articles online. 30% off

Monthly Online Pass - Only $5.95!
Get instant access to 10,000+ articles from Windows IT Pro Magazine!

TechNet Virtual Labs
Evaluate and test Microsoft's newest products.


Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro Windows Dev Pro IT Job Hound ITTV
IT Library Technology Resource Directory Connected Home Windows Excavator Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 Copyright © 2009 Penton Media, Inc., All rights reserved. Terms and Use | Privacy Statement | Reprints and Licensing