我有一个文本文件,其中包含逗号界的200 远程计算机名称。这些机器中的每台都有日志文件,我想将其下载到我的计算机上。如果机器无法到达(离线(,我希望脚本捕获错误并将其写入单独的FAILURES.LOG文件。
我已经阅读了几个线程并尝试了多种不同的方法,但似乎无法使脚本正常工作。这是我的最新尝试:
$csv = Import-Csv "C:MasterTestGroup.txt"
foreach($item in $csv) {
try {
Copy-Item -Path ("\" + $item + "c$WindowsAppLogsLoginScript_PolicyClearCredMgrRUN.log") -Destination ("C:ClearCredMgr_Logs" + $item + "_ClearCredMgr.log")
} catch {
$_ | Out-File "C:ClearCredMgr_LogsFailuresfailures.log" -Append
}
}
这是MasterTestGroup.txt文件的摘要:
486937cptr,487060cptr,490028cptr,499037cptr,502537cptr,506342Cptr,507627cptr,507670cptr,507670cptr,...
问题是您没有适当的CSV文件。您要做的就是将其读为文本文件,然后将其分配在逗号上。这应该做您想要的:
$rawtext = Get-Content "C:MasterTestGroup.txt"
$csv = $rawtext -split ','
foreach($item in $csv) {
try {
Copy-Item -Path ("\" + $item + "c$WindowsAppLogsLoginScript_PolicyClearCredMgrRUN.log") -Destination ("C:ClearCredMgr_Logs" + $item + "_ClearCredMgr.log")
} catch {
$_ | Out-File "C:ClearCredMgr_LogsFailuresfailures.log" -Append
}
}