Я полный новичок в Powershell, поэтому я принял это как учебную задачу, так как мне нужен был быстрый и простой способ проверить список ПК для статуса вверх / вниз. Эти настройки были необходимы, чтобы заставить его выводить чисто на экран и в txt-файл
$Output= @()
$names = Get-content "hnames.txt"
foreach ($name in $names){
if (Test-Connection -ComputerName $name -Count 1 -ErrorAction SilentlyContinue){
$Output+= "$name,up"
Write-Host "$Name,up"
}
else{
$Output+= "$name,down"
Write-Host "$Name,down"
}
}
$Output | Out-file "C:\support\result.csv"
Я подозреваю, что это связано с тем, что вы не попали на лист Active
, когда запускаете команду.
Попробуйте использовать это вместо
With ThisWorkbook.Worksheets("Test")
.Range(.Cells(8, 2), .Cells(AmountofRows, AmountofColumns)).Copy
End With
То, как вы использовали Cells
, будет просто использовать активный лист, который потерпит неудачу при попытке копирования со смешанным объявлением. Убедитесь, что вы всегда полностью определяете свои диапазоны