function log-file {
param($message)
Add-Content -path $logfile -Value "$(Get-Date) $message"
}
function ping-server {
param($server)
$ping = New-Object System.Net.NetworkInformation.Ping
$ping.Send("$server")
}
log-file "Pinging server = " + (ping-server $server).status
Wie kann ich das Obige dazu bringen, mit einer Zeile zu arbeiten, anstatt dies zu tun:
$pingable = (ping-server $server).status
log-file "Pinging server = $pingable"
powershell
Pieman
quelle
quelle
Antworten:
Versuchen Sie, diese Änderung am Funktionsaufruf der Protokolldatei vorzunehmen
quelle
Es gibt viele Möglichkeiten, Zeichenfolgen in PowerShell zu verketten / zu verkleben, aber ich bevorzuge es , das Pluszeichen zu vermeiden , da seine Hauptaufgabe das Hinzufügen ist und manchmal die Dinge mit Zeichenfolgen durcheinander bringt.
Ich denke, effizienter und lesbarer ist der folgende:
Schließen Sie Ihre Funktion einfach in $ () ein und setzen Sie sie in doppelte Anführungszeichen.
Lesen Sie mehr ;
quelle