Usuário com melhor resposta
Script para Identificar Serviços

Pergunta
-
Respostas
-
Marcelo,
Acho que o PsService pode te ajudar.
http://technet.microsoft.com/en-us/sysinternals/bb897542
http://technet.microsoft.com/pt-br/sysinternals/bb897542
Poste por favor, caso encontre algum problema
Se foi util,vote
- Marcado como Resposta Fábio JrModerator segunda-feira, 13 de agosto de 2012 23:52
-
Marcelo,
Veja este código em PowerShell, vc pode verificar vários computadores de uma só vez alterando a primeira linha com vários nomes de computadores.
Não se esqueça de colocar o nome da conta de administrador que você quer verificar no lugar do LocalService no código abaixo
$computers="servidorA","servidor2" foreach($computer in $computers){gwmi win32_Service -Computer $computer -filter "startname='LocalSystem'" | ft systemname,name,startname}
Veja este que foi uma das soluções da Olimpiadas de Script
$accounts = 'LocalSystem', 'NT Authority\LocalService', 'NT Authority\NetworkService' $computer = '127.0.0.1', '10.10.10.33', 'demo5' Get-WmiObject Win32_Service -ComputerName $computer | Where-Object { $accounts -notcontains $_.StartName } | Select-Object __SERVER, StartName, Name, DisplayName
Expert Solution for the 2011 Scripting Games Beginner Event 4: Use PowerShell to Identify Non-Standard Windows Service Account
Segue alguns links que podem ser úteis
Finding Services Using non-System Accounts With PowerShell
Fábio de Paula Junior
- Editado Fábio JrModerator domingo, 12 de agosto de 2012 17:05
- Marcado como Resposta Fábio JrModerator segunda-feira, 13 de agosto de 2012 23:49
-
Caro Marcelo!
Só para completar as informações dos colegas. Quando precisei criar um script para a mesma função, fiz da seguinte forma.
1.Script que captura o nome de todos os computados/servidores Onlines!
del AllServers.txt del OnlineServers.txt del OfflineServers.txt $_criteria1 = Read-host "Enter a unique 1st part of machinenames you want to Query or * use 1st part as wildcard" $_criteria2 = Read-host "SEnter a unique 2nd part of machinenames you want to Query or * use 2nd part as wildcard" dsquery computer -name $_criteria1$_criteria2* -o rdn -limit 0 | where { $_ -notmatch 'PC' -And $_ -notmatch 'NB'}>>Siteserverliste_tmp.txt (Get-Content Siteserverliste_tmp.txt) | Foreach-Object {$_ -replace """", ""} | Set-Content AllServers.txt del Siteserverliste_tmp.txt $Servere=Get-Content AllServers.txt Foreach ($_ in $Servere) { $ping = new-object System.Net.NetworkInformation.Ping $Reply = $ping.send($_) if ($Reply.status –eq “Success”) {Write-Output "$_" >>OnlineServers.txt} else {Write-Output "$_" >>OfflineServers.txt} $Reply = "" }
Com este script ele ira gerar um arquivo na pasta C:\temp chamado onlineservers.txt
2.Analizar os serviços que rodam com uma determinada conta (Com base nos computadores listados no script acima)
get-content onlineservers.txt | ForEach-Object {gwmi win32_service -computerName $_| where {$_.StartName -like "*\Administrator"}} | select __Server,name,startname | convertto-html | out-file services_that_uses_spesific_account.html
Dê uma olhada neste link quando postei a mesma pergunta no Forum!
Att,
Rodrigo Galdino!
- Sugerido como Resposta Rodrigo Galdino segunda-feira, 13 de agosto de 2012 12:03
- Marcado como Resposta Fábio JrModerator segunda-feira, 13 de agosto de 2012 23:49
Todas as Respostas
-
Marcelo,
Acho que o PsService pode te ajudar.
http://technet.microsoft.com/en-us/sysinternals/bb897542
http://technet.microsoft.com/pt-br/sysinternals/bb897542
Poste por favor, caso encontre algum problema
Se foi util,vote
- Marcado como Resposta Fábio JrModerator segunda-feira, 13 de agosto de 2012 23:52
-
Marcelo,
Veja este código em PowerShell, vc pode verificar vários computadores de uma só vez alterando a primeira linha com vários nomes de computadores.
Não se esqueça de colocar o nome da conta de administrador que você quer verificar no lugar do LocalService no código abaixo
$computers="servidorA","servidor2" foreach($computer in $computers){gwmi win32_Service -Computer $computer -filter "startname='LocalSystem'" | ft systemname,name,startname}
Veja este que foi uma das soluções da Olimpiadas de Script
$accounts = 'LocalSystem', 'NT Authority\LocalService', 'NT Authority\NetworkService' $computer = '127.0.0.1', '10.10.10.33', 'demo5' Get-WmiObject Win32_Service -ComputerName $computer | Where-Object { $accounts -notcontains $_.StartName } | Select-Object __SERVER, StartName, Name, DisplayName
Expert Solution for the 2011 Scripting Games Beginner Event 4: Use PowerShell to Identify Non-Standard Windows Service Account
Segue alguns links que podem ser úteis
Finding Services Using non-System Accounts With PowerShell
Fábio de Paula Junior
- Editado Fábio JrModerator domingo, 12 de agosto de 2012 17:05
- Marcado como Resposta Fábio JrModerator segunda-feira, 13 de agosto de 2012 23:49
-
Caro Marcelo!
Só para completar as informações dos colegas. Quando precisei criar um script para a mesma função, fiz da seguinte forma.
1.Script que captura o nome de todos os computados/servidores Onlines!
del AllServers.txt del OnlineServers.txt del OfflineServers.txt $_criteria1 = Read-host "Enter a unique 1st part of machinenames you want to Query or * use 1st part as wildcard" $_criteria2 = Read-host "SEnter a unique 2nd part of machinenames you want to Query or * use 2nd part as wildcard" dsquery computer -name $_criteria1$_criteria2* -o rdn -limit 0 | where { $_ -notmatch 'PC' -And $_ -notmatch 'NB'}>>Siteserverliste_tmp.txt (Get-Content Siteserverliste_tmp.txt) | Foreach-Object {$_ -replace """", ""} | Set-Content AllServers.txt del Siteserverliste_tmp.txt $Servere=Get-Content AllServers.txt Foreach ($_ in $Servere) { $ping = new-object System.Net.NetworkInformation.Ping $Reply = $ping.send($_) if ($Reply.status –eq “Success”) {Write-Output "$_" >>OnlineServers.txt} else {Write-Output "$_" >>OfflineServers.txt} $Reply = "" }
Com este script ele ira gerar um arquivo na pasta C:\temp chamado onlineservers.txt
2.Analizar os serviços que rodam com uma determinada conta (Com base nos computadores listados no script acima)
get-content onlineservers.txt | ForEach-Object {gwmi win32_service -computerName $_| where {$_.StartName -like "*\Administrator"}} | select __Server,name,startname | convertto-html | out-file services_that_uses_spesific_account.html
Dê uma olhada neste link quando postei a mesma pergunta no Forum!
Att,
Rodrigo Galdino!
- Sugerido como Resposta Rodrigo Galdino segunda-feira, 13 de agosto de 2012 12:03
- Marcado como Resposta Fábio JrModerator segunda-feira, 13 de agosto de 2012 23:49