Сценарий Powershell, развернутый через Intune - команда не найдена

Не уверен, что это для stakoverflow или serverfault.

Я развертываю сценарий Powershell с помощью MS Intune. Скрипт работает при локальном запуске, но при развертывании я получаю следующую ошибку:

Remove-LocalGroupMember: термин Remove-LocalGroupMember не распознается как имя командлета, функции, файла сценария или работающей программы. Проверьте написание имени или, если был включен путь, убедитесь, что путь правильный, и повторите попытку. В C: \ Program Files (x86) \ Microsoft Intune Management

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

Я регистрирую переменную $ user, чтобы убедиться, что она не равна нулю и не работает в другом контексте.

Код довольно прост, как показано ниже:

$user = $(whoami)

$user | Out-File 'C:\powershelllog.log'

Remove-LocalGroupMember -Group Administrators -Member $user

person OptimusPrime    schedule 20.08.2019    source источник
comment
модуль, в котором находится командлет, был добавлен в ps5.1 и не существует в версии 5.0 или более ранней. у вас есть этот модуль на рассматриваемом устройстве? это ››› Microsoft.PowerShell.LocalAccounts - docs.microsoft.com/en-us/powershell/module/ ‹ACCOM   -  person Lee_Dailey    schedule 20.08.2019
comment
Да, на локальном компьютере я открываю Powershell, затем начинаю вводить команду и нажимаю вкладку, после чего она появляется. Я могу запустить сценарий локально на компьютере.   -  person OptimusPrime    schedule 20.08.2019
comment
когда вы говорите «локальный компьютер», вы имеете в виду тот, на который нацелен intune, или тот, на котором вы пишете код? также ... модуль может не находиться на пути, который использует материал intune. Вы пытались добавить код, чтобы убедиться, что модуль виден для intune в этой системе?   -  person Lee_Dailey    schedule 20.08.2019
comment
Intune развертывает сценарий, он запускается в контексте вошедшего в систему пользователя. Это не работает через Intune, если я запускаю его локально, так как тот же сценарий сохраняется на диске C, и я запускаю его оттуда, тогда он работает.   -  person OptimusPrime    schedule 20.08.2019
comment
Я установил сценарий, чтобы выгружать вывод get-command в файл журнала, и странно то, что в нем нет команды, указанной при выполнении из Intune, но она есть, если я запускаю get-command локально. Мне нужно знать, почему это так? Для меня это не имеет смысла.   -  person OptimusPrime    schedule 20.08.2019
comment
чтобы его можно было запустить вручную в целевой системе, используя рассматриваемую учетную запись? если да, то у вас действительно странный глюк, и я не знаю, как действовать дальше. [вздох ...]   -  person Lee_Dailey    schedule 20.08.2019
comment
Похоже, мне нужно будет найти другой способ удаления членства в группе. Если кто-то знает, какие команды нужно посмотреть, дайте мне знать.   -  person OptimusPrime    schedule 21.08.2019


Ответы (1)


Я считаю, что столкнулся с той же проблемой, что и вы. Я пытался создать локальную учетную запись администратора на машинах. Запуск сценария powershell с системным контекстом в Intune. Я обнаружил, что вы должны проверить: «Запуск сценария на 64-разрядном узле PowerShell» внутри Intune, куда вы импортируете сценарии PowerShell.

По-видимому, не все команды доступны с 32-битной консолью ps, работающей таким образом.

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

person rmicha9682    schedule 01.11.2019
comment
Спасибо, я поищу это в следующий раз, когда войду в Azure. В конце концов, я использовал WMI, встроенный в сценарий PS. - person OptimusPrime; 02.11.2019