Каков ожидаемый результат? Когда я запускаю функции по отдельности или вместе, они работают одинаково. Когда пробегаю через твой l oop, тоже нормально работает. Он показывает локальных пользователей, локальных администраторов и пользователей удаленных рабочих столов (если есть)
Очищенный вывод
Local Users
PC1\INTERACTIVE
PC1\Authenticated Users
PC1\Domain Users
PC1\test
Administrator Users
PC1\Administrator
PC1\someuser
DOMAIN\Domain Admins
DOMAIN\doug
RDP Users
PC1\test
Если вы просто хотите перечислить локальных пользователей, вы можете использовать
Get-LocalUser
Для локального администратора вы можете использовать
Get-LocalGroup "administrators" | Get-LocalGroupMember
Для пользователей RDP
Get-LocalGroup "Remote Desktop Users" | Get-LocalGroupMember
Изменить: чтобы ответить на вопрос «не следует» администратору » быть в списке локальных пользователей? " из вашего комментария. Нет. Функция Get-Local извлекает членов локальной группы «Пользователи». Тот же список создается при запуске
Get-LocalGroup Users | Get-LocalGroupMember
См. Мою альтернативную рекомендацию по командам, если вы хотите упростить свой код. Функции кажутся устаревшими и слишком сложными.