Таким образом, я все еще довольно новичок в powershell, поэтому извиняюсь, если пропустил что-то очевидное.
У меня есть пара команд сценариев, которые я регулярно выполняю, чтобы выполнять связанные с AD вещи нанаши RDS серверы.Имеется 3 сервера, и пользователь может быть добавлен на любой из них при входе в систему. Многие команды, которые я хочу сделать, не работают, если вы укажете неправильный компьютер и проверяете, на каком из них находится пользовательЭто боль.
Я хочу сделать переменную $ RDS_Servers, которая сохраняется между сеансами PS и перезагрузками, чтобы мне не приходилось каждый раз печатать ее и выполнять работу.Я хочу, чтобы это была переменная $ специально для универсальности.Я выяснил, как сохранить его как скрипт, чтобы он мог вызываться через RDS_Servers.ps1, но это неуклюже и сложно вставить в скрипт, написанный на лету, в отличие от красивой переменной $.
Пока я выполнил следующее:
$ RDS_Servers = Get-ADComputer -Filter * -SearchBase "OU = 2016 RDS, OU = Удаленный рабочий стол, OU = Серверы, OU= Компьютеры, OU = XXX, DC = XXX, DC = XXX, DC = XXX "
Возвращает список всех объектов в подразделении RDS-сервера, что мне и нужно.Переменная, которая содержит объекты, которые могут быть вызваны по требованию.Он присваивается $ RDS_Servers и может быть выгружен в сценарий, например, для поиска объекта AD пользователя через что-то вроде Get-ADuser -computer $ RDS_Server -user UserX, так что он может найти их без необходимости искать, на каком сервере они работают.
Проблема здесь в том, что, хотя это работает нормально и прекрасно для каждой сессии, я хочу как-то сохранить $ RDS_Servers как переменную «по умолчанию», которая сохраняется между сеансами,так что если я хочу выполнить какую-то работу в PS для пользователя AD, я могу просто каждый раз вставлять $ RDS_Servers вместо необходимости указывать переменную в каждом сеансе.
tl; dr не знает, как сохранять переменные междусеансы, пожалуйста, halp: o
/ подробный