copybyte
Goto Top

Powershell Problem IF Statement

Hallo liebe Admins,

ich bin neu in Powershell eingertiegen und habe mit Hilfe und Beispielen schon Einiges gebaut.
Jetzt verzweifle ich seit 2 tagen daran ein Skripe anzupassen.
Es soll eine Liste aus dem AD ziehen und prüfen, ob die Rechner online sind.
Ich habe das Skript soweit, daß es mir eine Liste in CSV erstellt, aber ich möchte nur Einträge haben, wenn der Rechner online ist.
Habe mit diversen IF, ELSE Konstrukten probiert im folgenden Teil zu verzweigen, aber keinen Erfolg gehabt.

# Create an object for each computer with the client's online status.  
$Output += New-Object -TypeName PSObject -Property @{
"ComputerName" = $_.Name;  
"Status" = Test-Connection -ComputerName $_.Name -Quiet -Count 1  
}
Weiß jemand Rat?

Hier ist das komplette Skript:

# Dynamic array to hold the output.
$Output = @()

# grab a list of computers from AD.
$ComputerList = Get-ADComputer -Filter *

# Count the number of computers for the Write-Progress Cmdlet.
$Count = $ComputerList |
Measure-Object |
Select-Object -ExpandProperty Count

# Control variable
$I = 0


$ComputerList |
ForEach-Object {
#Incriment the control variable
$I++

# Calculate percent completed
$PC = ($I/$Count)*100

# Display progress bar.
Write-Progress -Activity "Connectivity Test: $_.Name" -Status "$PC% Complete" -PercentComplete $PC  

# Create an object for each computer with the client's online status. 
$Output += New-Object -TypeName PSObject -Property @{
"ComputerName" = $_.Name;  
"Status" = Test-Connection -ComputerName $_.Name -Quiet -Count 1  
}

}
# Convert the output to HTML
$MailOutput = $Output | ConvertTo-HTML -Fragment | Out-String

# Send the email.
Send-MailMessage -to "Administrator@TechTour.com" -From "Allofus@HP.com" -Subject "Connectivity Test" -BodyAsHtml -building $MailOutput -SmtpServer Tech-EX1  

Quelle:
http://community.idera.com/database-tools/powershell/ask_the_experts/f/ ...

Content-Key: 392409

Url: https://administrator.de/contentid/392409

Printed on: April 23, 2024 at 14:04 o'clock

Member: falscher-sperrstatus
falscher-sperrstatus Nov 11, 2018 at 09:43:52 (UTC)
Goto Top
Hallo,

ich sehe im Skript keine Abfrage, wie geschildert?

Hast du die denn noch gar nicht eingebaut?

dazu, u.a
https://www.windowspro.de/script/if-else-switch-bedingte-anweisungen-pow ...
Mitglied: 137808
137808 Nov 11, 2018 updated at 16:17:53 (UTC)
Goto Top
# ...
# ..
$onlineonly = $output | ?{$_.Status}
Member: copybyte
copybyte Nov 12, 2018 at 07:17:56 (UTC)
Goto Top
Ich hatte versucht, daß so zu lösen, aber bekomme bei Ausführung in der Konsole nur True und False zurück.

(Test-Connection -ComputerName $_.Name -Quiet -Count 1  )
	IF ($Connection -eq 'True'){  
	$Output += New-Object -TypeName PSObject -Property @{
	"ComputerName" = $_.Name;  
	}