How to querry server for license information using slmgr.vbs

We deployed some 2008 servers in the past with the wrong license and now some of them are losing their activation.   I can use the slmgr.vbs script to capture individual server status but need to find a way to query all my servers. there are probably a couple hundred.

I used the command

cscript slmgr.vbs computername -xpr

output:

Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation. All rights reserved.

The machine is permanently activated.

How can I use the script to query all my 2008 servers an dump the results to it's own result file?  example: computername.txt

(I have a text file named computers.txt with all of them listed)



GlobalquestAsked:
Who is Participating?
 
arnoldConnect With a Mentor Commented:
there is nothing that prevents you from doing the
(echo %%a >> somefile; cscript slmgr.vbs  %a -xpr >> somefile; echo end of %%a >> somefile)
http://stackoverflow.com/questions/359120/batch-how-to-end-an-for-loop-properly
0
 
devinnoelCommented:
The standard redirection symbol > might work.

Try adding:
> filename.txt

On the end, it should the output to a file.

C:\Temp>dir *.txt
 Volume in drive C is OSDisk

 Directory of C:\Temp

File Not Found

C:\Temp>echo testing
testing

C:\Temp>dir *.txt
 Volume in drive C is OSDisk

 Directory of C:\Temp

File Not Found

C:\Temp>echo testing > test.txt

C:\Temp>dir *.txt
 Volume in drive C is OSDisk

 Directory of C:\Temp

03/04/2011  02:01 PM                10 test.txt
               1 File(s)             10 bytes

C:\Temp>type test.txt
testing

Open in new window


0
 
GlobalquestAuthor Commented:
I can run the command

cscript slmgr.vbs computername -xpr >c:\computername.txt

And that will give me the the desired results for that specific computer in that file.

What I really need is a way to scan multiple servers listed in either a text or csv file and dump the results into a text file for each server scanned.

I've tried editing a copy of  slmgr.vbs with no luck.  Of course, I am not a scripter.
0
 
arnoldCommented:
you could use for %host% in contents from a file:
Example: http://www.tech-recipes.com/rx/363/processing-the-contents-of-a-text-file-using-for-loop/
FOR /f %a in (‘complist.txt’) do echo Computer: %a
replace the echo with the line you have and make sure to change the redirect (>) to append using (>>)

Open in new window

0
 
GlobalquestAuthor Commented:
Ok here is the command that has so far worked

FOR /f %a in (d:\ncs\act\servers.txt) do cscript slmgr.vbs  %a -xpr >d:\ncs\act\%a.txt

It queries the server and dumps to it's own text file.  This is helpful because the output of the vbs script does not echo the server name.
0
All Courses

From novice to tech pro — start learning today.