2013-07-21 10 views
5

का उपयोग कर रहा 3 सर्वर है किसी दूरस्थ कंप्यूटर में चल रहा है कैसे जाँच करने के लिए, 3 सेवाओं चल:यदि किसी विशेष सेवा PowerShell

  • सर्वर से हैं- चल serv1.exe सेवा
  • सर्वर-बी चल serv2.exe सेवा
  • सर्वर-सी चल serv3.exe सेवा

यदि वे चल रहे हैं जाँच करने के लिए PowerShell का उपयोग करते हुए मैं प्रत्येक सेवा कैसे क्वेरी कर सकता है और उत्पादन में informat एक पाठ फ़ाइल के लिए आयन?

उत्तर

9

यदि उनके सभी का एक ही नाम या प्रदर्शन नाम है तो आप इसे एक कमांड में कर सकते हैं। यदि आपको 3 आदेश चलाने की आवश्यकता नहीं है।

यदि सब एक ही नाम या प्रदर्शन नाम है:

Get-Service -ComputerName server-a, server-b, server-c -Name MyService | 
    Select Name, MachineName, Status 

वे अलग-अलग नाम या प्रदर्शन नाम है:

मैं यह कर होगा -

@{ 
    'server-a' = 'service-a' 
    'server-b' = 'service-b' 
    'server-c' = 'service-c' 
}.GetEnumerator() | ForEach-Object { 
    Get-Service -ComputerName $_.Name -Name $_.Value 
} | Select Name, MachineName, Status 

उत्पादन करने के लिए करने के लिए एक टेक्स्ट फ़ाइल ... | Set-Content ~\Documents\Service_Status.txt का उपयोग करें जहां ... उपर्युक्त में से एक है।

नोट - आपके खाते को दूरस्थ मशीनों से पूछताछ करने के लिए विशेषाधिकारों की आवश्यकता होगी।

+1

यदि आपके खाते की अनुमति नहीं है तो आप वैकल्पिक क्रेडेंशियल कैसे निर्दिष्ट करते हैं? – Dan

1

इसे प्राप्त करने के कई तरीके हैं। मैं मूल्यों का हैश का उपयोग कर रहा हूं क्योंकि आपने उल्लेख किया है कि सेवा मैपिंग के लिए सर्वर हमेशा एक से एक होता है।

$svrHash = @{"SERVER-01"="winmgmt";"SERVER-02"="Wecsvc"} 
$svrHash.Keys 
    | ForEach-Object {Get-Process -ComputerName $_ -Name $svrHash[$_] -Ea SilentlyContinue} 
    | Select ProcessName 
    | Out-File C:\Scripts\test.txt 

आपको सेवा नाम का उपयोग करने की आवश्यकता है, न कि .exe नाम।

+0

धन्यवाद यह काम किया। लेकिन मैं अपनी आवश्यकता को समझाने में गलत था। वे कार्य हैं और सेवाएं नहीं हैं। यदि मैं कार्य प्रबंधक खोलता हूं, तो मुझे 3 अलग-अलग सर्वरों में 3 अलग-अलग कार्यों को देखने में सक्षम होना चाहिए। – Ireshad

+0

तो, वे प्रक्रियाएं हैं और सेवाएं नहीं? गेट-प्रोसेस के साथ गेट-सर्विस बदलें और इसे काम करना चाहिए। – ravikanth

+0

हां यह काम किया। लॉग में हैंडल एनपीएम (के), पीएम (के), डब्ल्यूएस (के), वीएम (एम), सीपीयू (एस), आईडी, प्रोसेस नाम जैसे हैंडल हैं। क्या आउटपुट (प्रोसेस नेम एंड रनिंग (हां या नहीं) के रूप में केवल 2 कॉलम होना संभव है) धन्यवाद – Ireshad