Powershell Получить запрос группы пользователей AD - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь создать скрипт, который позволит мне ввести имя пользователя, а затем предоставит мне все группы, членом которых является пользователь в AD.У меня есть следующий код, который работает, когда я запускаю его в Powershell ISE, но когда я просто запускаю скрипт в Powershell, он позволяет мне ввести имя пользователя, но закрывается, поскольку он запрашивает AD.Он не печатает результаты на экране.

$username = Read-Host 'Please enter Username!'
get-aduser $username -Properties memberof | select -expand memberof

1 Ответ

1 голос
/ 13 июня 2019

Если вы вставляете код в уже открытый терминал PowerShell, тогда да, это определенно странно.

Если вы щелкнете правой кнопкой мыши и « Работает с PowerShell », то это ожидаемое поведение, поскольку сценарий завершен. Вам нужно будет указать скрипту, чтобы он оставался открытым после получения информации. Самый простой способ сделать это - заставить скрипт ждать ввода, используя Read-Host

$username = Read-Host 'Please enter Username!'
get-aduser $username -Properties memberof | select -expand memberof
Read-Host 'Done!'

UPDATE

Использование оператора if было бы невозможным, так как он только перехватывает завершающие ошибки, а Get-ADUser не возвращает terminating errors, вам нужно будет использовать блок try/catch. Я разработал это решение, чтобы показать вам, как это можно сделать с помощью различных функций PowerShell:)

#Function to search for the user
function searchUser{
    Param([string]$userName)
    try{
        Get-ADUser -Identity $userName -Properties MemberOf | Select-Object -ExpandProperty MemberOf 
    }catch{
        return $false
    }
}

#Ask the user for input until a valid username is entered
do {
    $userInput = Read-Host "Enter a username: "
}until ($Output = searchUser -userName $userInput)

#Output the value from the searchUser function
Write-Host $Output
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...