5
Ich versuche Offline-Computer in einer Textdatei aufzunehmen, damit ich sie zu einem späteren Zeitpunkt erneut ausführen kann. Es scheint nicht, dass es aufgezeichnet oder gefangen wird.Powershell try/catch mit test-connection
function Get-ComputerNameChange {
[CmdletBinding()]
Param(
[Parameter(Mandatory=$True,ValueFromPipeline=$True,ValueFromPipelinebyPropertyName=$True)]
[string[]]$computername,
[string]$logfile = 'C:\PowerShell\offline.txt'
)
PROCESS {
Foreach($computer in $computername) {
$continue = $true
try { Test-Connection -computername $computer -Quiet -Count 1 -ErrorAction stop
} catch [System.Net.NetworkInformation.PingException]
{
$continue = $false
$computer | Out-File $logfile
}
}
if($continue){
Get-EventLog -LogName System -ComputerName $computer | Where-Object {$_.EventID -eq 6011} |
select machinename, Time, EventID, Message }}}
Ja, das funktioniert. Würdest du wissen, warum es nur den letzten Computernamen in meiner Textdatei pipettiert? Ich versuche Get-Content "\\ test \ c $ \ powershell \ computers.txt" | get-computernameChange – MattMoo
@ user3620584 woher weißt du, dass es nur Piping in der letzten? – briantist
Als Test gebe ich 3 Computernamen ein, die nicht existieren und nur den letzten in der Protokolldatei auflisten. – MattMoo