मूल रूप से मेरे पास एक स्क्रिप्ट थी:

Do {
    Get-Date
    Write-Output "SERVER01";
    gsv -cn SERVER01 -Name Dm* |out-string
    Write-Output "SERVER02";
    gsv -cn SERVER02 -Name Dm* |out-string
    sleep 60
}
while ($true)

मैं सर्वर का नाम और सेवा को एक चर बनाने की कोशिश कर रहा हूँ

Do {
    Get-Date
    $name = Read-Host 'What is your ServerName?'
    $srv = Read-Host 'What is ServiceName?'
    write-host $name
    gsv -cn $name -Name $srv |out-string
    sleep 60
}

कृपया इसे काम करने में मेरी मदद करें।

0
George Dudnikov 30 अक्टूबर 2018, 16:12

1 उत्तर

सबसे बढ़िया उत्तर

आपके कोड में कुछ भी गलत नहीं है सिवाय इसके कि आप केवल सर्वर नाम और सेवा नाम के लिए केवल एक बार संकेत देना चाहते हैं और फिर उन्हें बार-बार जांचना चाहते हैं। इस मामले में, अपनी read-host लाइनों को Do लूप से पहले ले जाएं:

$name = Read-Host 'What is your ServerName?'
$srv = Read-Host 'What is ServiceName?'

Do {
    Get-Date
    Write-Host $name
    gsv -cn $name -Name "$srv*" | Out-String
    Sleep 60
}
while ($true)

मैंने आपकी मूल स्क्रिप्ट के अनुसार सेवाओं की आपकी पुनर्प्राप्ति में वाइल्डकार्ड * वर्ण भी वापस जोड़ दिया है, ताकि आप आंशिक नाम के आधार पर सेवाएं वापस कर सकें।

1
Mark Wragg 30 अक्टूबर 2018, 13:24