5
Próbuję mieć komputery w trybie offline nagrane w pliku tekstowym, aby móc je ponownie uruchomić w późniejszym czasie. Nie wydaje się, że jest rejestrowany lub złapany w haczyk.Powershell próbuj/złap z połączeniem testowym
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 }}}
Tak to działało. Czy wiesz, dlaczego w moim pliku tekstowym przepuszcza tylko ostatnią nazwę komputera? Próbuję pobrać treść "\\ test \ c $ \ powershell \ computers.txt" | get-computernameChange – MattMoo
@ user3620584 Skąd wiadomo, że jest to ostatnia instalacja? – briantist
Jako test wstawiam 3 nazwy komputerów, które nie istnieją, a lista zawiera tylko ostatnie w pliku dziennika. – MattMoo