CHATS GHOST
New member
איך להטמיע write-host בתוך סקריפט Power Shell
שלום לכם, אני חדש בעניין הסקריפטים (בערך חודש וחצי) ואני חורש עם Power Shell ברמות מאוד גבוהות, בכל הזדמנות שיש לי אני רואה CBT, you tube קורא ספרים מאמרים ומה לא.
עכשיו אני כותב את הסקריפט הרביעי שלי, ונתקלתי בבעיה, לאחר המון חפירות ברשת ובקשות עזרה בהמון פורומים הגעתי "לעמק השווה", מצאתי עזרה ממישהו שהבין מה אני מנסה לעשות ועזר לי עם זה (כמעט בצורה מושלמת).
מה הסקריפט אמור לעשות? יש לי 3 שרתים, אני צריך לבצע להם בדיקת Test-connection ובדיקת "פורט פתוח" דרך test-netconnection
ובמידה ויש שרת שהוא למטה ו\או אי אפשר להגיע אליו, אני רוצה לקבל הודעה בסגנון can't reach the pc, הינה הסקריפט:
שלום לכם, אני חדש בעניין הסקריפטים (בערך חודש וחצי) ואני חורש עם Power Shell ברמות מאוד גבוהות, בכל הזדמנות שיש לי אני רואה CBT, you tube קורא ספרים מאמרים ומה לא.
עכשיו אני כותב את הסקריפט הרביעי שלי, ונתקלתי בבעיה, לאחר המון חפירות ברשת ובקשות עזרה בהמון פורומים הגעתי "לעמק השווה", מצאתי עזרה ממישהו שהבין מה אני מנסה לעשות ועזר לי עם זה (כמעט בצורה מושלמת).
מה הסקריפט אמור לעשות? יש לי 3 שרתים, אני צריך לבצע להם בדיקת Test-connection ובדיקת "פורט פתוח" דרך test-netconnection
ובמידה ויש שרת שהוא למטה ו\או אי אפשר להגיע אליו, אני רוצה לקבל הודעה בסגנון can't reach the pc, הינה הסקריפט:
$computers = "localhost"
foreach ($pc in $computers) {
$test_connection = Test-Connection -Computer $pc -Count 2 -EA SilentlyContinue
$test_netconnection = Test-NetConnection $pc -Port 1433
if ($test_connection) {
$test_connection | ForEach-Object {
[PSCustomObject]@{
LocalPC = $env:COMPUTERNAME
'Tested-Server' = $pc
Online = $true
Bytes = $_.buffersize
Time = $_.ResponseTime
RemotePort = $test_netconnection.RemotePort
'ping?' = $test_netconnection.TcpTestSucceeded
}
}|ft
} else {
" write-host "can't reach server $pc
[PSCustomObject]@{
LocalPC = $env:COMPUTERNAME
'Tested-Server' = $pc
Online = $false
Bytes = $_.buffersize
Time = $_.ResponseTime
RemotePort = $test_netconnection.RemotePort
'ping?' = $test_netconnection.TcpTestSucceeded
} |ft
}
}
תודה על העזרה.foreach ($pc in $computers) {
$test_connection = Test-Connection -Computer $pc -Count 2 -EA SilentlyContinue
$test_netconnection = Test-NetConnection $pc -Port 1433
if ($test_connection) {
$test_connection | ForEach-Object {
[PSCustomObject]@{
LocalPC = $env:COMPUTERNAME
'Tested-Server' = $pc
Online = $true
Bytes = $_.buffersize
Time = $_.ResponseTime
RemotePort = $test_netconnection.RemotePort
'ping?' = $test_netconnection.TcpTestSucceeded
}
}|ft
} else {
" write-host "can't reach server $pc
[PSCustomObject]@{
LocalPC = $env:COMPUTERNAME
'Tested-Server' = $pc
Online = $false
Bytes = $_.buffersize
Time = $_.ResponseTime
RemotePort = $test_netconnection.RemotePort
'ping?' = $test_netconnection.TcpTestSucceeded
} |ft
}
}