Изучение сценариев Powershell - PullRequest
0 голосов
/ 21 октября 2018

Я молодой ученик ИТ, который отвечает (частично) за администрирование задач Active Directory.

Я пытался изучить PowerShell, чтобы помочь с этим.

В любом случае, я хочу включить чтение данных из файлов в свои ежедневные задачи, чтобы упростить процесс, я хочу получить данные и настроить изменения для нескольких учетных записей AD.Моя идея состоит в том, чтобы файл с именем samaccount в одном столбце (без заголовка).Импортируйте файл csv, чтобы получить имя пользователя объявления и отключить пользователей, затем поместите новое описание в поле описания аккаунтов.

Прямо сейчас у меня есть csv с именами пользователей в списке и скрипт, который импортирует csv, и это гдеЯ застрял.

Я могу выполнить «образец текста» функций disable-aduser и set-aduser-description, которые мне нужны для сценария отдельно, успешно в тестировании в ситуации с одним вкладышем, вызвав метод get-адусер и отправляет результат каждой команде, но я хочу поместить это в скрипт и получить имена пользователей объявлений из csv для нескольких учетных записей.

У меня проблемы с установкой переменной объекта изCSV (я надеюсь, что это правильная терминология), я был не в состоянии «получить это» из-за отсутствия лучшего термина.Я надеюсь поместить это в цикл for, чтобы включить функции, которые я описал.

Кто-нибудь может мне помочь или описать, как я могу установить переменные для инкапсуляции каждой учетной записи пользователя объявления в моем файле, чтобы помочь мне продолжитьс моим сценарием и настройкой вышеуказанных изменений?

Я знаю, что это может показаться странным или слишком простым вопросом, чтобы спросить айтишников, но я могу заверить вас, что я продолжил чтение, но я не смог найтирешение этой конкретной проблемы.

Приношу свои извинения, если терминология в моем вопросе не подходит.

Заранее спасибо, Гленн.

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Ниже будет загружен весь CSV и покажет его в Out-GridView.Затем вы можете нажать CTRL, щелкнув несколько пользователей, и обработать их таким образом.

Мне нравится делать это таким образом, если в мое CSV проникло другое имя, когда его не должно быть,

Import-CSV 'C:\Location\of\CSV.csv' | Out-GridView -PassThru | ForEach-Object{Disable-ADAccount $_.SamAccountName; Set-ADUser -Identity $_.SamAccountName -Description "Test Description"}

ПРИМЕЧАНИЕ: Спасибо Роберту за совет пропустить помещение Import-csv в переменную для обработки и перехода к источнику.

0 голосов
/ 22 октября 2018

вот один из способов циклически проходить через коллекцию элементов, импортированных из файла CSV ...

# fake reading in a headerless, one-column text file as a CSV
#    in real life, use Import-CSV
$UserNameList = @'
OneTest
TwoTest
ThreeTest
FourTest
'@ | ConvertFrom-Csv -Header UserName

foreach ($UNL_Item in $UserNameList)
    {
    # do the things you need done to each user id here
    'Acting on user [ {0} ] ...' -f $UNL_Item.UserName
    }

надеюсь, что это поможет,
ли

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...