Вопрос или проблема
В продолжение другого вопроса здесь, я пытаюсь удалить Firefox на управляемых ПК с помощью скрипта InTune. Скрипт приведен ниже для справки.
Скрипт помечен как “ошибка”, но я не могу найти способ получить подробную информацию об ошибке, позволяющую мне её устранить. Где я могу получить сведения о том, что пошло не так (в InTune или на управляемом ПК?)?
К вашему сведению, я использую InTune для образования, но могу посмотреть в InTune, если это необходимо.
Спасибо!
$SEARCH = 'Mozilla Firefo$'
$INSTALLED = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, UninstallString
$INSTALLED += Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, UninstallString
$RESULT = $INSTALLED | ?{ $_.DisplayName -ne $null } | Where-Object {$_.DisplayName -match $SEARCH }
if ($RESULT.uninstallstring -like "msiexec*") {
$ARGYY=(($RESULT.UninstallString -split ' ')[1] -replace '/I','/X ') + ' /qn'
Start-Process msiexec.exe -ArgumentList $ARGYY -Wait
} else {
$UNINSTALL_COMMAND=(($RESULT.UninstallString -split '\"')[1])
$UNINSTALL_ARGS=(($RESULT.UninstallString -split '\"')[2]) + ' --force-uninstall'
Start-Process $UNINSTALL_COMMAND -ArgumentList $UNINSTALL_ARGS -Wait}
Ответ или решение
Чтобы выяснить, почему ваш скрипт для удаления Firefox через Intune находится в состоянии "ошибка", вам необходимо получить детальную информацию об ошибках как в самой консоли Intune, так и на управляемых компьютерах. Вот несколько шагов, которые вы можете предпринять для диагностики:
-
Проверка статуса скрипта в Intune:
- Перейдите в консоль Microsoft Endpoint Manager (Intune).
- Найдите раздел "Client apps" (Клиентские приложения) и выберите "Scripts" (Скрипты).
- Найдите свой скрипт и посмотрите его статус. Если он помечен как "Ошибка", щелкните по нему, чтобы получить дополнительную информацию о выполнении, включая код ошибки.
-
Просмотр логов на управляемом ПК:
- На целевом компьютере, где вы пытаетесь выполнить удаление, вы можете просмотреть журналы событий Windows, чтобы получить больше информации об ошибке.
- Откройте "Просмотр событий" (Event Viewer), перейдите в "Windows Logs" -> "Application" и найдите записи, которые появляются в момент выполнения скрипта. Ошибки PowerShell могут быть записаны в этом журнале.
-
Логи PowerShell:
- Убедитесь, что ваш скрипт записывает ошибки. Вы можете добавить обработку исключений в ваш скрипт для вывода ошибок:
try { # Ваш код удаления здесь } catch { Write-Error ("Произошла ошибка: " + $_.Exception.Message) }
- Вывод ошибок можно перенаправить в файл, добавив следующую строку в конец скрипта:
} catch { $_ | Out-File -FilePath C:\path\to\your\logfile.txt -Append }
- Убедитесь, что у вашего скрипта есть права на запись в указанный каталог.
- Убедитесь, что ваш скрипт записывает ошибки. Вы можете добавить обработку исключений в ваш скрипт для вывода ошибок:
-
Проверка ошибок в процессе завершения:
- Если вы используете
Start-Process
, добавьте-PassThru
и проверьте свойства результата:$process = Start-Process msiexec.exe -ArgumentList $ARGYY -Wait -PassThru if ($process.ExitCode -ne 0) { Write-Error "Ошибка удаления. Код ошибки: $($process.ExitCode)" }
- Это поможет вам получить код завершения операции, что также может быть полезно для диагностики.
- Если вы используете
-
Дополнительные ресурсы:
- Если проблема сохраняется, вы можете воспользоваться официальной документацией Microsoft о PowerShell и Intune, а также возможностями форума TechNet или сообществами, специализированными на Intune.
Следуя этим шагам, вы сможете получить более детальную информацию о возникшей ошибке и устранить ее. Не забудьте протестировать изменения на одном компьютере перед массовым развертыванием.