- Introdução
- Melhores práticas
- Tenant
- Sobre o contexto do tenant
- Pesquisa de recursos em um tenant
- Gerenciamento de robôs
- Conectar Robôs ao Orchestrator
- Armazenamento de credenciais do robô no CyberArk
- Armazenando senhas de Unattended Robots no Azure Key Vault (somente leitura)
- Armazenamento de credenciais de robôs não assistidos no HashiCorp Vault (somente leitura)
- Exclusão de sessões não assistidas desconectadas e não responsivas
- Autenticação do robô
- Autenticação de robôs com credenciais de cliente
- Autenticação do SmartCard
- Atribuição de funções
- Gerenciamento de funções
- Funções padrão
- Perguntas frequentes
- Habilitando usuários para executar automações pessoais
- Habilitando usuários para executar automações em infraestrutura Unattended por meio de Unattended Robots
- Configurando contas de Robôs para executar automações Unattended
- Auditar
- Serviço Catálogo de recursos
- Contexto de Pastas
- Automações
- Processos
- Trabalhos
- Gatilhos
- Logs
- Monitoramento
- Filas
- Ativos
- Armazenar Buckets
- Teste do Orquestrador
- Outras configurações
- Integrações
- Robôs Clássicos
- Administração do host
- Sobre o nível do host
- Gerenciamento dos administradores do sistema
- Gerenciando Tenants
- Configurando notificações de e-mail do sistema
- Logs de auditoria para o portal do host
- Modo de Manutenção
- Administração da organização
- Solução de problemas
- Sobre a solução de problemas
- Solução de problemas de alertas
- Solução de problemas gerais
- Solução de problemas de atualização
- Erros frequentemente encontrados no Orchestrator
Migração de unidades de organização
When upgrading your existing Orchestrator where multiple Organization Units were defined to v2019.10, certain conditions could result in the existing OU's not being properly migrated to the Folders paradigm. Specifically, this occurs when an OU with one or more assigned users is deleted and results in those users being unable to use Orchestrator.
Dois scripts são fornecidos para corrigir esse problema, se ele ocorrer na atualização de seu Orchestrator:
Usados em conjunto, excluirão qualquer Usuário afetado pelas atribuições da Unidade organizacional para os OUs excluídos:
- Baixe ambos os scripts dos links acima.
- Execute SelectUndeletedUserOrganizationEntires.sql e salve os dados resultantes.
- Execute DeleteAffectedUserOrganizationUnitsEntries.sql.
Solicitações de Criação de Pastas Simultâneas
Os usuários que atualizam de versões do Orchestrator anteriores à v2019.10 são impactados por um problema que ocorre devido a solicitações de criação de pastas simultâneas. O problema faz com que algumas funções de usuário sejam exibidas incorretamente enquanto também afetam o processo de excluir ou reatribuir usuários.
Se você encontrar esse problema, execute o seguinte script:
DECLARE @duplicates TABLE([Id] BIGINT, [Code] NVARCHAR(95), [TenantId] INT)
INSERT INTO @duplicates
SELECT ou.[Id], ou.[Code], ou.[TenantId]
FROM [dbo].[OrganizationUnits] ou
INNER JOIN
(SELECT duplicates.[Code]
FROM [dbo].[OrganizationUnits] duplicates
WHERE duplicates.[IsDeleted] = 0 AND duplicates.[ProvisionType] = 0
GROUP BY duplicates.[Code]
HAVING COUNT(duplicates.[Code]) > 1) a ON a.[Code] = ou.[Code]
WHERE ou.[IsDeleted] = 0 AND ou.[ProvisionType] = 0
DECLARE @id BIGINT
DECLARE @code NVARCHAR(95)
DECLARE @tenantId INT
DECLARE @rootCode NVARCHAR(95) = (SELECT TOP 1 [Code] FROM [dbo].[OrganizationUnits])
DECLARE @rootCodeLength INT = LEN(IIF(CHARINDEX('.', @rootCode) > 0, SUBSTRING(@rootCode, 0, CHARINDEX('.', @rootCode)), @rootCode))
DECLARE duplicates_Cursor CURSOR FOR
SELECT * FROM @duplicates
OPEN duplicates_Cursor
FETCH NEXT FROM duplicates_Cursor INTO @id, @code, @tenantId
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRAN
DECLARE @result int;
DECLARE @resource NVARCHAR(30) = 'Tenant#' + CAST(@tenantId AS NVARCHAR(10)) + '.RootFolder#0'
EXEC @result = sp_getapplock @resource, 'Exclusive', 'Transaction', 10000;
DECLARE @lastCode NVARCHAR(95) = (SELECT MAX([Code]) FROM [dbo].[OrganizationUnits] WHERE [IsDeleted] = 0)
DECLARE @nextCode NVARCHAR(95) = CAST(CAST(@lastCode AS BIGINT) + 1 AS NVARCHAR(95))
UPDATE [dbo].[OrganizationUnits]
SET [Code] = REPLICATE('0', @rootCodeLength - LEN(@nextCode)) + @nextCode
WHERE [Id] = @id
FETCH NEXT FROM duplicates_Cursor INTO @id, @code, @tenantId
COMMIT TRAN;
END
CLOSE duplicates_Cursor
DEALLOCATE duplicates_Cursor
DECLARE @duplicates TABLE([Id] BIGINT, [Code] NVARCHAR(95), [TenantId] INT)
INSERT INTO @duplicates
SELECT ou.[Id], ou.[Code], ou.[TenantId]
FROM [dbo].[OrganizationUnits] ou
INNER JOIN
(SELECT duplicates.[Code]
FROM [dbo].[OrganizationUnits] duplicates
WHERE duplicates.[IsDeleted] = 0 AND duplicates.[ProvisionType] = 0
GROUP BY duplicates.[Code]
HAVING COUNT(duplicates.[Code]) > 1) a ON a.[Code] = ou.[Code]
WHERE ou.[IsDeleted] = 0 AND ou.[ProvisionType] = 0
DECLARE @id BIGINT
DECLARE @code NVARCHAR(95)
DECLARE @tenantId INT
DECLARE @rootCode NVARCHAR(95) = (SELECT TOP 1 [Code] FROM [dbo].[OrganizationUnits])
DECLARE @rootCodeLength INT = LEN(IIF(CHARINDEX('.', @rootCode) > 0, SUBSTRING(@rootCode, 0, CHARINDEX('.', @rootCode)), @rootCode))
DECLARE duplicates_Cursor CURSOR FOR
SELECT * FROM @duplicates
OPEN duplicates_Cursor
FETCH NEXT FROM duplicates_Cursor INTO @id, @code, @tenantId
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRAN
DECLARE @result int;
DECLARE @resource NVARCHAR(30) = 'Tenant#' + CAST(@tenantId AS NVARCHAR(10)) + '.RootFolder#0'
EXEC @result = sp_getapplock @resource, 'Exclusive', 'Transaction', 10000;
DECLARE @lastCode NVARCHAR(95) = (SELECT MAX([Code]) FROM [dbo].[OrganizationUnits] WHERE [IsDeleted] = 0)
DECLARE @nextCode NVARCHAR(95) = CAST(CAST(@lastCode AS BIGINT) + 1 AS NVARCHAR(95))
UPDATE [dbo].[OrganizationUnits]
SET [Code] = REPLICATE('0', @rootCodeLength - LEN(@nextCode)) + @nextCode
WHERE [Id] = @id
FETCH NEXT FROM duplicates_Cursor INTO @id, @code, @tenantId
COMMIT TRAN;
END
CLOSE duplicates_Cursor
DEALLOCATE duplicates_Cursor