【发布时间】:2019-09-14 00:29:39
【问题描述】:
问题:
我的问题是我有一个非常简单的do..while 循环。但是,它不会在第一次迭代时打印Get-ADPrincipalGroupMembership 查询的输出。例如,我运行脚本并输入用户名,然后单击 Enter。它不是打印成员资格的预期结果,而是循环并再次询问用户名,而不打印第一个输入的用户名的结果。一旦我在循环中第二次输入用户名并单击输入,它就会打印第一个输入的结果和第二个输入的结果。在第二次迭代之后的任何时候,脚本都可以正常工作,并且在我提供输入后实际上可以正确打印结果。以下是有问题的脚本。
预期结果:
下面的代码只是要求用户输入用户名,然后在 AD 中运行查询以列出给定用户的成员资格。在提供用户的成员资格后,脚本应该请求另一个用户并重复该过程,直到用户输入“exit”并且脚本退出。
代码片段:
do {
$user = Read-Host -Prompt 'Enter the username of the user';
Get-ADPrincipalGroupMembership $user | select name;
} while ($user -ne 'exit');
Stop-Process -Id $PID;
【问题讨论】:
-
您在每行末尾添加的
;终止符是多余的。
标签: powershell