Вывод скрипта Powershell, отображаемый некорректно - PullRequest
0 голосов
/ 26 октября 2018

у нас есть скрипт, который мы используем для отображения групп, а затем пользователей, которые находятся в группах.Скрипт работает и дает нам информацию в выводе.Вот сценарий:

Clear-Host
Write-Host "Group Query & Edit Tool." -ForegroundColor Yellow
Start-Sleep -Seconds 2
Start-Process "\\capeplc.net\IT-GroupData\Onsite Group Memberships\GBSSOnsiteGroupList.txt"
$Group = Read-Host "Enter the name of the group you require memberships pulling from"
Write-Host " "
Write-Host "Users who are members of $Group :"
Get-ADGroupMember -Identity $Group | Select Name,SAMAccountName -Wait
Start-Sleep -Seconds 1
$GroupRemove = Read-Host "Do you want to remove anyone from $Group ?"
if ($GroupRemove -eq "Y"){

$User = Read-Host "Enter the username of the user who needs removing 
(SAMAccountName)"
Remove-ADGroupMember -Identity $Group -Members $User

}
else {

Write-Host "Ending script..."
exit

}

Выходные данные, однако, отображают имя и имя SAMAccountName под всем сценарием после того, как там написано окончание сценария.Я хочу, чтобы это отображалось между записывающим хостом с надписью «Пользователи, которые являются членами $ Group» и $ GroupRemove = Read-Host «Хотите ли вы удалить кого-либо из $ Group»

Может кто-нибудь посоветовать, чтоЯ делаю неправильно в сценарии, почему он отображается в неправильном месте в выводе?

Вот вывод для справки:

Group Query & Edit Tool.
Enter the name of the group you require memberships pulling from: GBSS-Onsite-Admin-Aldborough

Users who are members of GBSS-Onsite-Admin-Aldborough :

Do you want to remove anyone from GBSS-Onsite-Admin-Aldborough ?: N
Ending script...
Name         SAMAccountName
----         --------------
Test User    Test.User

1 Ответ

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

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

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

  • не смешивать вывод хоста с любым другим выводом, предназначенным для достижения экрана [ ухмылка ] [aka - хе-хо "не делай этого!"]
  • добавляет | Out-Host к элементам отображения, не относящимся к хосту, чтобы принудительно заставить элемент на хост, не проходя через задержку системы отображениярутина
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...