Создание сценария, который будет сравнивать текущие группы и пользователей с исходной базой авторизованных групп и пользователей. Я застрял с созданием файла. Пример того, что я хочу:
Original.txt
** Если этот файл каким-то образом был удален, я хочу, чтобы файл был воссоздан с текущими группами и пользователями.
Original2.txt
** Если он был удален снова, тот же процесс, что и выше
Original3.txt и так далее и так далее.
Не уверен, что это важно, но вот то, что я сделал до сих пор, но не могу закончить из-за части файла.
function not-exist { -not (Test-Path $args) }
Set-Alias !exist not-exist -Option "Constant, AllScope"
Set-Alias exist Test-Path -Option "Constant, AllScope"
#To establish baseline
#Get-WmiObject -Class Win32_UserAccount > Original.txt
#Get-LocalUser >> .\Original.txt
#Get-LocalGroup >> .\Original.txt
if (exist .\Original.txt)
{
cd C:\Users\User\Documents
Get-WmiObject -Class Win32_UserAccount > Compare.txt
Get-LocalUser >> .\Compare.txt
Get-LocalGroup >> .\Compare.txt
}
ElseIf (!exist .\Original.txt)
{
echo "the file has been deleted"
echo "recreating baseline as 'Original[x]'"
#I'm stuck on how to recursively create the file here
Get-WmiObject -Class Win32_UserAccount > Original[x].txt
Get-LocalUser >> .\Original[x].txt
Get-LocalGroup >> .\Original[x].txt
}
Else
{
#????
echo "the file neither exists or doesn't exist"
}
Я не знаю, насколько это просто или сложно, но я надеюсь, что мы сможем над этим работать :)
PS - если есть какие-то дополнительные предложения, приветствую <3
Также нет причин для Иного, нет ситуации, при которой путь не существует и не существует.
Нет причин выводить команды в файл. Сохраните его в переменной и обработайте как объект PowerShell.
@OwainEsau Если файл УДАЛЕН, я создам другую версию. Это говорит мне, что кто-то испортил исходный файл. Так что ваше решение мне не поможет.
@KolobCanyon Звучит правильно. Это просто первая мысль, которая пришла в голову. В конце концов, я удалил файл в любом случае, но я посмотрю, как сделать переключатель Спасибо вам обоим
@Simonhawk Хм, вы могли бы использовать прослушиватель файлов C#? Если вы просто хотите добавить в файл прослушиватель событий для обнаружения изменений?
Это не отвечает на мой вопрос, но это другой способ решить мое решение. Я нашел ссылку для слушателя и собираюсь найти ее, чтобы удовлетворить свои потребности. Спасибо! Ссылка на сценарий для наблюдателя за файловой системой PowerShell





Я немного смущен тем, что вы здесь пытаетесь сделать, вы пытаетесь просто создать файл, если он не существует, и добавить, если он существует? Если да, то вам нужно будет использовать только Out-File -Append -Force, так как это создаст файл, если он все равно не существует.