2017-02-01 4 views
0

Прежде всего позвольте мне сказать, что я новичок в Powershell. Я написал сценарий для использования Test-Connection, чтобы проверить, находятся ли наши системы и серверы вверх или вниз. Я знаю, что это было сделано раньше, но я узнал лучше, сделав так, что я сделал снимок. Это помогло мне также форматировать вывод html. Проблема в том, что он будет выводить только успешные системы. Если система отключена или отключена, она отображает ошибку в командной строке, но не выводит ее. Мне бы хотелось, чтобы столбец статуса показывал успех или неудачу, но на данный момент даже 1 или 0 будут работать. Вот код, который я использую. Любая помощь с благодарностьюТестовое соединение сообщает только успехи

$OutputFile = ".\CompStatusResults.htm" 
$InputFile = ".\Full_List.txt" 
$ServerList= get-content $InputFile 
[email protected]" 
<h2 style='color:#8B0000;'>$(Get-Date) - System Status Report</h2> 
<style> 
TABLE {border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;} 
TH {border-width: 1px;padding: 3px;border-style: solid;border-color: black;background-color: #63B8FF;} 
TD {border-width: 1px;padding: 3px;border-style: solid;border-color: black;} 
tr:nth-child(even) {background: #F6F9ED} 
TR:Hover TD {Background-Color: #C1D5F8;} 
</style> 
<Title>Systems Group Membership </Title> 
"@ 
$results = Foreach($ServerName in $ServerList) 
{Test-Connection $ServerName -Count 1 | Select Address, IPV4Address,StatusCode;} 

$results | ConvertTo-Html -as Table -head $style -PreContent $header |Format-Table -Autosize | Out-File $OutputFile 
&($OutputFile) 

ответ

0

Это не сработает после того, как вы зададите вопрос, на который вы найдете ответ на свой следующий поиск. Я искал это время только для Test-Connection и нашел этот пост test-connection output to csv file with hostname and IPaddress

, включив часть этого кода в мой, теперь он делает то, что я хочу. Это новый код. Это может быть не самый лучший способ, и если кто-то хочет улучшить его, это мой гость, но он действительно работает. Спасибо, что этот сайт имеется

$OutputFile = ".\CompStatusResults.htm" 
$InputFile = ".\Full_List.txt" 
$Servers= get-content $InputFile 

$collection = $() 
foreach ($_Server in $servers) 
{ 
$status = @{ "ServerName" = $_Server; "TimeStamp" = (Get-Date -f s) } 
if (Test-Connection $_Server -Count 2 -ea 0 -quiet) 
{ 
    $status["Results"] = "Active" 
} 
else 
{ 
    $status["Results"] = "Inactive" 
} 
New-Object -TypeName PSObject -Property $status -OutVariable serverStatus 
$collection += $serverStatus 

} 
#$collection | Export-Csv .\ServerStatus.csv -NoTypeInformation 

$head[email protected]" 
<h2 style='color:#8B0000;'>$(Get-Date) - System Status Report</h2> 
<style> 
TABLE {border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;} 
TH {border-width: 1px;padding: 3px;border-style: solid;border-color: black;background-color: #63B8FF;} 
TD {border-width: 1px;padding: 3px;border-style: solid;border-color: black;} 
tr:nth-child(even) {background: #F6F9ED} 
TR:Hover TD {Background-Color: #C1D5F8;} 
</style> 
<Title>Systems Group Membership </Title> 
"@ 

$collection | ConvertTo-Html -as Table -head $style -PreContent $header |Format-Table -Autosize | Out-File $OutputFile 
&($OutputFile)