header
header Register : : Login header
header
divider
menuleft
menuright
submenu
left

[August 25th, 2008] Check the home page regarding PowerShell related news from a brand new sponsor: Idera

Get Services Info and Export to CSV
Last Post 30 Oct 2008 08:43 PM by slogick. 3 Replies.
Printer Friendly
Sort:
PrevPrev NextNext
You are not authorized to post a reply.
Author Messages
slogickUser is Offline
New Member
New Member
Posts:23
Avatar

--
28 Oct 2008 04:01 PM  

Ok, I want to query a list of servers in my domain and see which services are on each server, but I need a detailed export of services such as status, display name and Log on As Info

get-quadcomputer -sizelimit 0 | where {$_.OSName -match "Server"} | select dnshostname | export-csv c:\server.csv

Import-csv c:\server.csv | foreach{

get-wmiobject win32-service -computer $_.dnshostname | export-csv c:\services.csv}

 

any thoughts?

 

aleksandarUser is Offline
New Member
New Member
Posts:11
Avatar

--
28 Oct 2008 11:27 PM  
I would output an object ($services) and then later choose the final format of the results (csv file, table, list...)

get-qadcomputer -sizelimit 0 | where {$_.OSName -match "Server"} | select dnshostname | export-csv c:\temp\servers.csv

$services = @()
$query = "select __server,displayname,state,startname from win32_service"

Import-csv c:\temp\servers.csv | % {

gwmi -query $query -computer $_.dnshostname | % {

$service = "" | select ComputerName, ServiceName, Status, LogOnAs

$service.ComputerName = $_.__server
$service.ServiceName = $_.displayname
$service.Status = $_.state
$service.LogOnAs = $_.startname

$services += $service
}
}
$services

Now you can export to csv file:
$services | Export-Csv c:\temp\services.csv

Or see the services for just one server in a nicely formatted table:
$services | ? {$_.computername -eq 'server1'} | ft * -autosize

-aleksandar
http://powershellers.blogspot.com
ShayUser is Offline
Basic Member
Basic Member
Posts:269
Avatar

--
29 Oct 2008 08:45 AM  
Here's another version. It filters the list of servers without a where-object and ping each computer before trying to get the server services:

Get-QADComputer -sizeLimit 0 -OSName *server* | foreach {

$name = $_.name
$ping = gwmi win32_pingstatus -filter "address='$name'"

if($ping.statusCode -eq 0){
$srv = gwmi -query "select SystemName,displayname,state,startname from win32_service" -computer $name
$srv | select SystemName,displayName,state,startName
}

} | export-csv services.csv -noType
Shay Levy
Windows PowerShell MVP
http://blogs.microsoft.co.il/blogs/ScriptFanatic
slogickUser is Offline
New Member
New Member
Posts:23
Avatar

--
30 Oct 2008 08:43 PM  
Thanks Shay!!! Once again you are the man!!! Worked like a champ
You are not authorized to post a reply.

Active Forums 4.1
right
   
footer Sponsored by Quest Software • SAPIEN Technologies • ShellTools, LLC • Microsoft Windows Server 2008 footer
footer