Управление потерянными потоками, когда владелец покидает организацию
В этой статье описывается, как управлять потерянными потоками, когда владелец покидает организацию.
Применимо к: Power Automate
Исходный номер базы знаний: 4556130
Что такое потерянные потоки?
Поток превращается в потерянный поток, если у него больше нет действительного владельца. Часто это происходит, когда создатель или владелец потока покинул организацию, а совладельца нет. Если поток использует подключения, требующие проверки подлинности, он может начать сбой, так как удостоверение пользователя больше недействительно.
Администраторы могут поддерживать непрерывность бизнес-процесса, автоматизированного потоком, добавляя в него одного или нескольких совладельцев. Совладельцы в основном имеют полный контроль над потоком так же, как и исходный владелец, и могут исправить проверку подлинности для подключений, если таковые имеются, и включить поток, если он был отключен.
Как проверить, есть ли потерянные потоки
Примечание.
Только привилегированные пользователи могут просматривать потоки, у которых нет допустимых владельцев.
На странице среды в Power Platform Администратор Center перейдите на вкладку Ресурсы, а затем откройте список Поток. Потерянные потоки отображают значение None в качестве владельца.
Выберите Загрузить больше , чтобы загрузить следующий набор потоков, чтобы убедиться, что вы просматриваете все потоки, которые могут быть потеряны.
Назначение нового совладельца для потерянного потока
- В списке потоков выберите потерянный поток, чтобы открыть страницу сведений о потоке.
- Выберите Управление общим доступом в нижней части списка Владельцев.
- Введите новое имя владельца и выберите новую учетную запись владельца.
- Нажмите кнопку Сохранить, чтобы сохранить изменения.
Примечание.
Если в вашей организации имеется большое количество потоков, найти потерянные потоки может быть трудно. В этом случае вы также можете управлять потерянными потоками с помощью командлетов PowerShell.
Управление потерянными потоками с помощью командлетов Power Automate для администраторов
В качестве Администратор вы также можете управлять потоками, запустив командлеты Power Apps для администраторов. Убедитесь, что вы выполнили инструкции по завершению установки, если вы не сделали это ранее.
Исправление разрешений для одного потока
Вам потребуется имя среды и имя потока (GUID).
Get-AdminFlowOwnerRole
Запустите командлет с именем среды и именем потока, чтобы получить список пользователей и их ролей. Это позволит проверить текущие разрешения, заданные для потока.
Чтобы назначить совладельца потоку, выполните команду Set-AdminFlowOwnerRole
с идентификатором объекта участника AAD нового владельца.
Set-AdminFlowOwnerRole -EnvironmentName <env name> -FlowName <flow name> -PrincipalType User -RoleName CanEdit -PrincipalObjectId <new owner object id>
Примечание.
Чтобы получить идентификатор основного объекта AAD пользователя, выполните командлет Get-AzureADUser (из модуля AzureAD).
Запустите Get-AdminFlowOwnerRole
еще раз, чтобы убедиться, что в списке есть новый владелец.
Исправление разрешений для потоков, созданных определенным пользователем
Получите список потоков, созданных заданным пользователем, выполнив следующий командлет, а затем примените приведенный выше раздел, чтобы исправить каждый поток в списке.
Get-AdminFlow -EnvironmentName <env name> -CreatedBy <user AAD object id>
Перечисление всех потерянных потоков в среде
Чтобы получить все потоки, у которых нет допустимых пользователей, выполните цикл по всем потокам в одной среде и убедитесь, что в AAD существует по крайней мере один владелец или совладельц. Пример приведен в следующем сценарии:
$env = "<your environment name>"
$flows = Get-AdminFlow -EnvironmentName $env
foreach ($flow in $flows)
{
$hasValidOwner = $false
$permissions = Get-AdminFlowOwnerRole -EnvironmentName $env -FlowName $flow.FlowName
foreach ($permission in $permissions)
{
$roleType = $permission.RoleType
if ($roleType.ToString() -eq "Owner" -or $roleType.ToString() -eq "CanEdit")
{
$userId = $permission.PrincipalObjectId
$users = Get-AzureADUser -Filter "ObjectId eq '$userId'"
if ($users.Length -gt 0)
{
$hasValidOwner = $true
break
}
}
}
if ($hasValidOwner -eq $false)
{
$flow
}
}
Вы также можете внедрить Set-AdminFlowOwnerRole
командлет, чтобы назначить совладельца для каждого потока, который не имеет допустимого владельца.