Что я пытаюсь сделать здесь, это дать и удалить локальные административные разрешения на основе входа csv (компьютер, пользователь). Поскольку наши компьютеры пользователей, как правило, в оффлайне довольно много, и вступает в игру множество разных часовых поясов, я хочу, чтобы сценарий повторялся, чтобы предоставить разрешения, которые он делает.powershell - удаляет строки на основе сообщения об ошибке
Уловка состоит в том, что если 1 сценарий был добавлен/удален, то еще один не был (из-за невозможности доступа к компьютеру, отказа в доступе или подобного) сценарий отправит обратно " Не удалось отправить повторную проверку информации за 1 час ... », хотя она может успешно удалить/добавить ее для одной или нескольких перечисленных записей.
То, что я хотел бы сделать, - это когда powershell возвращает сообщение об ошибке 0 (успешно), я хотел бы удалить текущую работу csv-line из CSV, поэтому CSV фактически «отработает» компьютеры, которые должно быть сделано.
Может ли кто-нибудь помочь мне с этим? Я пока не смог найти что-то похожее на этот вопрос.
$Stoploop = $false
[int]$Retrycount = "0"
do {
try {
Import-Csv "E:\Folder\Script\Remove-Admin-1.csv" | foreach {
$DomainName = "domain.local"
$ComputerName = $($_.Computer)
$UserName = $($_.User)
$AdminGroup = [ADSI]"WinNT://$ComputerName/Administrators,group"
$User = [ADSI]"WinNT://$DomainName/$UserName,user"
$AdminGroup.Add($User.Path)
}
Write-Host "Job completed"
$Stoploop = $true
}
catch {
if ($Retrycount -gt 24){
Write-Host "Could not send Information after 24 retrys."
$Stoploop = $true
}
else {
Write-Host "Could not send Information retrying in 1 hours..."
Write-Host $(Get-Date)
Start-Sleep -Seconds 3600
$Retrycount = $Retrycount + 1
}
}
}
While ($Stoploop -eq $false)
Hi Mike, благодарит вас за быстрый ответ, к сожалению, он не совсем понял, как это работает. Чтобы заполнить csv правильно добавленный -header Computer, User и удалить эту строку из CSV. Проблема, я все еще сталкиваюсь с тем, что она не заполняет CSV. Он переопределяет csv, но не помещает в него контент. Есть ли у вас какие-либо предложения о том, как это решить? Спасибо! –