У меня есть сценарий, который был создан и протестирован другим государством, с целью сканирования определенного каталога на каждом компьютере в нашем Домене, поиска файлов .pfx, а затем копирования их в каталог хранилища при регистрации действия,раз в месяц.Оттуда мы можем на административной стороне проверить сертификат и посмотреть, нужно ли нам его хранить.
Таким образом, сценарий должен выполнять три основных вещи:
- Найдите файлы .pfx в каталоге.
- Скопируйте любой файл в каталог хранения.
- Зарегистрируйте все эти действия в ежемесячном отчете.
Что это НЕделает, копирует файл или регистрирует его.Я просмотрел сценарий, а затем исследовал другое содержимое на этом сайте, и я не могу понять, ЧТО я, или этот сценарий работает неправильно.Мне нужно, чтобы скопировать файл и записать в указанное место, как это было в другом штате, где он был запущен.Сценарий ниже, с опущенной определенной конфиденциальной информацией.
$computers = Get-ADComputer -Filter * -SearchBase "OU=CAC Not Required,OU=DESKTOPS,OU=WORKSTATIONS,OU=WIN10,OU=,OU=,DC=,DC=,DC=,DC="
$destination = "\\NGVT-SA7V-02\Software\10 - Patching Logs\Soft Cert Clean"
foreach ($computer in $computers){
$client = $computer.name
if (Test-Connection -ComputerName $client -Count 1 -ErrorAction SilentlyContinue) {
$outputdir = "$destination\$client"
$ext = "*.pfx"
$filerepo = "$outputdir\Files"
$files = Get-ChildItem -Path \\$client\c$\Users -Filter $ext -Recurse -ErrorAction SilentlyContinue
if (!$files){
Write-Host -ForegroundColor Green "There are no .pfx files on $client."
}
else {
if (Test-Path -Path $outputdir) {
Write-Host -ForegroundColor Cyan "PFX files found on $client"
Write-Host -ForegroundColor Gray "Output directory exists for $client"
$files | Select fullname, length | Out-File $outputdir\PFX_List.txt
$files | Copy-Item -Destination $filerepo -ErrorAction SilentlyContinue
Write-Host -ForegroundColor Cyan "Files moved to share server for $client."
}
else {
Write-Host -ForegroundColor Cyan "PFX files found on $client"
New-Item -ItemType Directory $outputdir -Force | Out-Null
New-Item -ItemType Directory $filerepo -Force | Out-Null
Write-Host -ForegroundColor Yellow "Output directory and File repo created for $client"
$files| Select fullname, length | Out-File $outputdir\PFX_List.txt
$files | Copy-Item -Destination $filerepo -ErrorAction SilentlyContinue
Write-Host -ForegroundColor Cyan "Files moved to share server for $client."
}
}
}
else {
Write-Host -ForegroundColor Red "$client is not online."
}
}