Personalizar RDP Web Access Windows Server 2016 parte 2

Personalizar RDP Web Access Windows Server 2016 parte 2

Nesta segunda postagem, vou me concentrar na customização da página principal. Essa é a página que um usuário vê depois de fazer login.

Atualização: é publicado o terceiro post da série, que tem como foco a personalização da segunda página principal (Conectar a um PC remoto). Leia aqui .

Apenas como um lembrete amigável ou se você não leu o primeiro post ( Passo a Passo Customizando RD Web Access 2012 R2 – Parte 1 ), estaremos editando os arquivos na interface do Web Access, que pode ser encontrada em %windir%\web\rdweb\pages\<language-code> no servidor de Acesso via Web RD.
Por segurança, faça um backup completo da pasta %windir%\web\rdweb\pages e subpastas.

A página principal é na verdade, composta por duas páginas. A primeira página é a página que mostra os programas de desktops e RemoteApp publicados. 

Por padrão é assim:  Publiquei vários RemoteApps e os organizei em uma estrutura de pastas.

Personalizando a barra de navegação do Web Access
barra de navegação apresenta ao usuário diferentes telas na página principal. A barra de navegação é definida como duas barras de navegação, na verdade. A barra de navegação [1] contém as guias. A guia “RemoteApp and Desktops” é a página em que estamos no momento. A guia “Conectar a um PC remoto” leva você para a segunda página da página principal chamada “Desktops.aspx” e falarei sobre isso no próximo post.

A barra de navegação [2] mostra um link de Ajuda e um link de Sair.
O link de ajuda será abordado mais tarde.
O link Sair desconectará o usuário chamando uma função JavaScript chamada “onUserDisconnect()” e retornará à página de login.

Remova a guia conectar a um PC remoto da barra de navegação do Web Access.
Nas versões anteriores do RD Web Access, você tinha que editar os arquivos do Web Access. Isso não é mais necessário. No servidor RD Web Access, abra o Internet Information Services Manager (IIS Manager). Expanda a árvore à esquerda e clique em Páginas, clique duas vezes em Configurações do aplicativo e selecione ShowDesktops. Observe que seu valor é “verdadeiro” por padrão e clique em Editar para alterá-lo para “falso”. Essa mudança é imediata, sem a necessidade de reiniciar o IIS.

Atualize ou abra a página Web Access, certifique-se de estar logado e verifique a barra de navegação: Alterar ShowDesktops para false não apenas removeu a Guia Conectar a um PC remoto, mas também a divisória entre as duas guias. Altere ShowDesktops de volta para true porque precisaremos que seja verdade mais adiante neste post.

Adicionando uma guia extra na barra de navegação do Web Access
Assim, podemos remover uma guia. Podemos adicionar outra guia? Claro, mas não é tão simples quanto apertar um botão nas configurações do aplicativo.
Vou adicionar uma guia extra chamada “Guia Personalizada” que, ao clicar, abre “Custom.aspx”.
As definições das guias são incorporadas às páginas do Web Access, portanto, precisamos personalizar cada página que pode ser acessada por meio das guias. Felizmente, só precisaremos modificar duas páginas neste estágio: “Default.aspx” e “Desktops.aspx”.
Abra “Default.aspx”. Insira uma linha extra antes da linha 18: destaquei a linha extra na imagem acima. O importante aqui é não mudar nada, certifique-se de adicionar uma linha, não sobrescrever uma já existente. Adicionar esta linha informa ao código qual nome exibir na guia.

Mova para a linha 278 e insira outra linha: Novamente, na captura de tela acima, destaquei a linha que precisa ser adicionada. Essa alteração adiciona um trecho de código que define a guia extra. Você pode ver que href é “Custom.aspx” e o texto que essa guia exibirá é definido por L_CustomTab_Text, a linha que adicionamos na primeira alteração. Salve o arquivo.

Para aplicar essas alterações a “Desktops.aspx”, adicione as mesmas duas alterações, mas desta vez insira a primeira alteração na linha 20 e insira a segunda alteração na linha 234 e salve o arquivo também. Obviamente, se você decidir ocultar a guia “Conectar a um PC remoto”, não precisará aplicar essas alterações a “Desktops.aspx”.

Quanto ao “Custom.aspx”, criei um template baseado em “Desktops.aspx”, despojado de todo o código necessário para aquela página, e simplesmente adicionei o texto “Exemplo de página personalizada”. Você pode baixar este modelo aqui se desejar e construir suas próprias páginas personalizadas a partir dele. Coloque seu “Custom.aspx” ou qualquer nome que você tenha nomeado em %windir%\web\rdweb\pages\<language-code>. Recarregue a interface do Web Access e certifique-se de estar conectado: Não é legal? Agora temos uma guia Guia personalizada na barra de navegação. Como um bônus, o código padrão ainda adiciona um divisor, não tivemos que fazer nada extra para fazer isso.

Clicar nele abrirá o arquivo “Custom.aspx”:

Personalizando o link “Ajuda”
Clicar no link abre uma nova janela que, por padrão, mostra o conteúdo de http://go.microsoft.com/fwlink/?LinkId=141038 .
Você pode alternar para um arquivo local, localizado em seu servidor de Acesso via Web RD.
Mostrei como fazer isso em detalhes no primeiro post desta série, então serei preguiçoso aqui e direi que você precisa alterar a configuração do aplicativo LocalHelp no aplicativo Pages no Gerenciador do IIS no servidor RD Web Access.
Após alterar esta configuração, a janela pop-up de ajuda mostra o conteúdo do arquivo rap-help.htm .
Você pode personalizar este arquivo se quiser ou pode editar a página para apontar para um arquivo local ou link diferente. Para personalizar o link externo ou o arquivo de ajuda local, você precisa editar o arquivo “Default.aspx”.
A lógica para definir as páginas de ajuda começa na linha 152: Altere a linha 153 (“./rap-help.htm”) se quiser usar um arquivo local diferente para mostrar aos seus usuários, e altere a linha 155 (“ http://go.microsoft.com/fwlink/?LinkId=141038” 😉 se desejar usar um URL externo diferente. Claro, salve suas alterações. Nota: essas entradas da Ajuda são específicas para a página principal. A página de login também possui um link de Ajuda e isso foi abordado na primeira postagem desta série. Isso significa que você pode especificar diferentes conteúdos de Ajuda para a página de login e para a página principal, se desejar. Nota: se você alterar as entradas da Ajuda na seção “

Arquivo “default.aspx”, você pode querer fazer as mesmas alterações no arquivo “Desktop.aspx” para mantê-los iguais em todas as páginas principais, se você não estiver escondendo a guia “Conectar a um PC remoto”.

Remova o link Ajuda da barra de navegação
Se você deseja ocultar o link Ajuda na barra de navegação, você precisa editar %windir%\web\rdweb\pages\site.xsl. Vá para a linha 311: Mude esta linha para ficar assim: Mude a linha 315 para ficar assim: Mude a linha 317 para ficar assim: E mude a linha 319 para ficar assim: O resultado dessas duas alterações deve ser assim: Esta parte do código mostra a linha 310 a 320 e reflete as alterações que precisam ser feitas. Essas alterações transformam o código para exibir o link de Ajuda e o divisor em um comentário e, portanto, oculto. Salve o arquivo.

Atualize ou abra a página do Web Access e você verá o link de Ajuda e o divisor sumiu.

Adicionando um link extra à barra de navegação
Então, acabamos de ocultar o link de Ajuda. Podemos adicionar nossos próprios links aqui? Sim, nós podemos!
Abra %windir%\web\rdweb\pages\site.xsl.
Copie este trecho de código:

       <td>

             <a href=”https://outlook.com” target=”_new”>

               Correio eletrônico

             </a>

       </td>

       <td width = “15”> </td>

       <td class = “dividerInNavigationBar”> | </td>        <td width = “15”> </td>

E insira-o um pouco antes da linha 311, a mesma linha que alteramos primeiro para eliminar o link de Ajuda.
O resultado será semelhante a este: Isso inclui as alterações que fizemos para ocultar o link de Ajuda. O novo código adiciona um hiperlink para https://outlook.com , exibe “WebMail” na barra de navegação e adiciona um divisor. Salve o arquivo.

Atualize a interface do Web Access e certifique-se de estar conectado: E aqui está nosso novo link! Clicar nele abrirá (no meu caso) uma nova guia no meu navegador para Outlook.com. Este é apenas um exemplo simples. Se você quiser ter um pop-up como o link de Ajuda, você precisa copiar a função JavaScript e ter certeza de chamá-la do site.xsl.

Removendo a trilha de migalhas de pão,
ainda tenho que descobrir qual é o valor agregado da seção de migalhas de pão em “Default.aspx”. Como a estrutura de pastas do RD Web Access é limitada a um nível e não oferece suporte a subpastas, não vejo utilidade para ela. Especialmente se você estiver publicando apenas desktops ou quando não estiver usando pastas. Está sempre lá: Mesmo se clicarmos em uma pasta, as migalhas não se transformam em hiperlinks e temos que clicar no ícone “Para cima” para voltar: E se pudéssemos remover o texto estático “Pasta atual: /”? Teríamos uma página principal mais limpa e, se decidirmos usar pastas e ir para uma dessas pastas, ela apenas mostraria um rótulo de texto com o nome da pasta em que estamos. Muito mais limpo.

Abra %windir%\web\rdweb\pages\site.xsl.
Se você editou este arquivo nesta postagem, você precisará ir para a linha 537, caso contrário, o número da linha original é 529.
De qualquer forma, você precisará editar a linha destacada: Esta linha é responsável por 2 coisas: Ele exibirá o texto estático “Pasta atual:” e adicionará o caminho atual, incluindo o “/” inicial. Portanto, modifiquei o código para não exibir o texto estático e para retirar o “/” inicial do caminho da pasta atual. Também adicionei ASCII para manter o espaçamento intacto quando estamos na página principal. Modifique o código para que fique assim:

Observe que eu ativei o wordwrap. Na verdade, todo o código deve estar em uma linha. Para tornar isso um pouco mais fácil, aqui está o código em texto simples para que você possa copiá-lo e colá-lo:

<div class = “tswa_CurrentFolderLabel”> <span> <xsl: attribute name = ‘id’> <xsl: value-of select = “$ feedidprefix” /> CurrentFolderPath </ xsl: attribute> <xsl: value-of select = “substring-after (appfeed: Publisher [1] / @ DisplayFolder, ‘/’)” /> </span> </div>

Atualize a página do Web Access e certifique-se de estar conectado: E então chega de informações inúteis. E, claro, clicar em uma pasta mostra apenas o nome da pasta na página da pasta.

Há apenas uma coisa a ser personalizada nesta página: ícones personalizados para os aplicativos publicados e áreas de trabalho publicadas, incluindo redimensioná-los. Isso exige muita personalização e irei abordar isso em uma postagem separada.

Até agora, para personalizar a página principal. Tudo o que é personalizável sem adicionar nova funcionalidade ou sem tocar em “Branding” agora é explicado.

Na próxima postagem da série, vou me concentrar na personalização da página Conectar a um PC Remoto. No post seguinte, vou me concentrar na criação de uma marca para toda a interface do Web Access.

Personalização do RDP WEB Access – Windows Server 2016 Parte 1

Este Post foi traduzido e adaptado de um link com uma versão inglesa do processo, ao final segue a biografia e dados para auxiliar e caso necessite dados do autor original

Esta é a primeira postagem de uma série que se concentra na personalização da interface do RD Web Access 2012 R2.
Esta postagem não focará em Branding, irei abordar isso em postagens posteriores.

Atualização: Acontece que a opção de remover a necessidade de inserir o nome de domínio só funcionava em máquinas associadas ao domínio. Eu adicionei uma parte extra para fazer isso funcionar em máquinas não associadas ao domínio também. Peço desculpas por qualquer inconveniente que isso possa ter causado.

Atualização: é publicado o segundo post da série, que tem como foco a personalização da primeira página principal. Leia aqui .
Atualização: é publicada a terceira e última postagem da série, que tem como foco a personalização da segunda página principal. Leia aqui .

O primeiro é personalizar a página de login do RD Web Access. Editaremos coisas, usando as configurações do aplicativo no gerenciador do Internet Information Services (IIS Manager). Vamos começar! Para toda esta postagem, vou me referir a um usuário que criei: A conta do usuário NT é “ITW\jklaas” e seu UPN (Nome do princípio do usuário) é “jan.klaassen@it-worxx.nl”, que também é o endereço de e-mail para este usuário.

Por padrão, todos os arquivos relacionados à interface do Web Access podem ser encontrados em %windir%\web\rdweb\pages\<language-code>. Esta também será a pasta onde faremos a maior parte da personalização discutida neste artigo. Antes de continuar, faça uma cópia de backup de toda a pasta %windir%\web\rdweb\pages.

Descobri que editar esses arquivos era mais fácil usando um editor avançado como o Notepad ++, mudando sua linguagem de código para C # e desligando o corretor ortográfico, se estiver habilitado. Você pode baixar o Notepad ++ gratuitamente aqui: http://notepad-plus-plus.org/ . A página de login da interface do Web Access padrão é semelhante a esta: Como você pode ver, a interface por padrão espera que o usuário insira o nome de usuário no formato de conta NT, por exemplo, Domínio \ nome de usuário.

Removendo o requisito de prefixo de domínio da interface do Web Access
ATUALIZAÇÃO: Após várias atualizações e correções neste método, decidi criar um post dedicado para isso. Você pode encontrar este post aqui .

Forçando os usuários a usar o Nome Principal do Usuário/endereço de e-mail para fazer logon
Se você personalizou o nome de domínio anteriormente nesta postagem, restaure “login.aspx” e “webscripts-domain.js” da cópia de backup que fizemos anteriormente.

Se você publicar a interface do Web Access para uma plataforma compartilhada, poderá forçar os usuários a usar o UPN. Os provedores de serviços geralmente configuram o UPN para refletir o endereço de e-mail do usuário.
Isso funciona por padrão na interface do Web Access, mas o rótulo de texto mostra “Domínio \ nome do usuário” e o usuário ainda pode usar a conta do NT para fazer logon.
Portanto, precisamos corrigir duas coisas: o texto no rótulo e algum código para aceitar apenas o formato UPN. Abra “login.aspx” e vá para a linha número 19: Esta linha contém o texto da etiqueta. Altere esta linha para: Ou substitua “Endereço de e-mail:” pelo texto personalizado de sua preferência. Isso alterou o texto do rótulo para solicitar UPN ou endereço de e-mail. Observação: você precisa fazer a mesma alteração na linha 19 em “password.aspx” se planeja permitir ou forçar os usuários a alterar suas senhas por meio da interface do Web Access.

Você pode querer considerar a alteração da linha 27: Você pode alterar “O nome do usuário” para “O endereço de e-mail”, por exemplo. Se você planeja permitir alterações de senha por meio da interface do Web Access, pode desejar alterar o mesmo texto na linha 29 no arquivo “password.aspx”. E de volta a “login.aspx” na linha 28: Você pode alterar “nome de domínio” para “endereço de e-mail”. Salve o arquivo.

Abra “webscripts-domain.js” e vá para a linha número 44: Mude a linha 44 para uma linha comentada: Faça isso inserindo “//” no início de cada linha.

Em seguida, vá para a linha 46: Mude esta linha para:

É isso. Teste seus ajustes recarregando a página. Você só poderá fazer o login com um UPN válido agora.
Se você tentar fazer logon usando a conta do NT, verá um erro:

Permitir ou forçar os usuários a alterar sua senha
Se você criou um usuário, pode considerar forçá-lo a alterar sua senha no primeiro logon ou pode oferecer ao usuário que altere sua senha quando tiver expirado. No servidor RD Web Access, abra o Internet Information Services Manager (IIS Manager). Expanda a árvore à esquerda e clique em Páginas, depois clique duas vezes em Configurações do aplicativo e selecione PasswordChangeEnabled. Observe que seu valor é “falso” por padrão e clique em Editar para alterá-lo para “verdadeiro”. Essa mudança é imediata, sem a necessidade de reiniciar o IIS.

Atualize ou abra a página do Web Access e faça logon com uma conta de usuário cuja senha tenha expirado ou Alterar no primeiro logon habilitado: Clicar no link “aqui” abre uma nova página:

Personalizando o link “Ajuda”
Por padrão, os usuários recebem um link de Ajuda no canto superior direito da interface do usuário: E clicar no link abre uma nova janela que, por padrão, mostra o conteúdo de http://go.microsoft.com/fwlink/?LinkId=141038:

Você pode alternar facilmente para um arquivo local, que está localizado no servidor RD Web Access. No servidor RD Web Access, abra o Internet Information Services Manager (IIS Manager).

Expanda a árvore à esquerda e clique em Páginas, clique duas vezes em Configurações do aplicativo e selecione Ajuda local. Observe que seu valor é “falso” por padrão e clique em Editar para alterá-lo para “verdadeiro”. Essa alteração é imediata, portanto, não há necessidade de reiniciar o IIS. Atualize ou abra a página do Web Access e clique no link Ajuda: Agora é exibida uma nova janela com o conteúdo do arquivo rap-help.htm. Você pode personalizar este arquivo se desejar.

Se você quiser apontar o link para um local totalmente diferente, você precisa editar “login.aspx”.
A lógica para definir as páginas de ajuda começa na linha 84: Altere a linha 87 se quiser usar um arquivo diferente para mostrar aos seus usuários e altere a linha 91 se quiser usar um URL externo diferente. Nota: essas entradas da Ajuda são específicas para a página de login. A página principal também possui um link de Ajuda, mas isso será abordado na próxima postagem desta série. Isso significa que você pode especificar diferentes conteúdos de Ajuda para a página de login, se desejar. Nota: se você alterar as entradas Ajuda no arquivo “login.aspx”, você deve fazer as mesmas alterações no “password.aspx”

Se você planeja permitir alterações de senha por meio da interface do Web Access.

Ocultando o link “Ajuda” na página de login
Se quiser ocultar o link de Ajuda na página de login, você precisa editar %windir%\web\rdweb\pages\site.xsl. Vá para a linha 152: Mude esta linha para ficar assim: E altere a linha 154 para ficar assim: O resultado dessas duas alterações deve ser assim: Fazer essas duas alterações transforma o código para exibir o link em um comentário e, portanto, oculto. Salve o arquivo.

Atualize ou abra a página do Web Access e você verá que o link sumiu.
Observação: isso remove o link apenas das páginas de login e senha. Depois de fazer o login, você verá que o link ainda está lá na página principal. A remoção ou personalização desse link será abordada na próxima postagem desta série.Personalizando os tempos limite da sessão de configuração de segurança
Por padrão, o usuário tem uma escolha nas configurações de segurança: O tempo limite da sessão de configuração do computador público é de 20 minutos e o tempo limite da configuração do computador privado é de 240 minutos. Essas configurações de tempo limite são configuráveis.

No servidor RD Web Access, abra o Internet Information Services Manager (IIS Manager). Expanda a árvore à esquerda e clique em Páginas, em seguida, clique duas vezes em Configurações do aplicativo e selecione PrivateModeSessionTimeoutInMinutes ou PublicModeSessionTimeoutInMinutes. Clique em Editar para alterar o valor padrão para algo de sua preferência ou algo que sua organização impõe. Essas alterações são imediatas, sem a necessidade de reiniciar o IIS.

Forçando a configuração de segurança para Pública
Consultei organizações que precisavam forçar todas as interfaces do Web Access (Outlook Web App, RD Web Access etc.) para a configuração de segurança pública.
Para o RD Web Access 2012 R2, não há configuração de aplicativo para fazer isso.

Precisamos consertar duas coisas para forçar os usuários a irem para o ambiente público sem meios para alterá-lo. Abra “login.aspx”.
Altere as linhas 523, 532, 536, 556, 576 e 587 para essas alterações ocultarão efetivamente a interface do usuário para alterar a configuração de segurança. Salve o arquivo.

Abra “webscripts-domain.js” e vá para a linha número 14: Altere esta linha para: Esta alteração forçará o código a sempre configurar para o modo público. Salve o arquivo.

Atualize ou abra a página do Web Access e você verá que as opções de interface para escolher um modo de segurança desapareceram. Se você quiser ocultar também as divisórias cinza, será necessário abrir “login.aspx” novamente.

Altere as linhas 513, 516, 519, 597, 609 e 612 para essas alterações ocultarão efetivamente os divisores cinza e moverão o botão Sign in para cima. Salve o arquivo.

Atualize ou abra a página do Web Access e você verá que a interface está muito mais limpa agora.

Personalizando o aviso de isenção de responsabilidade
A página de login do Web Access mostra um aviso de isenção de responsabilidade ao ser aberto: Você pode substituir esse texto por um texto fornecido pelo departamento jurídico de sua organização ou pode optar por excluí-lo.

Abra “login.aspx” e vá para a linha número 41: Você pode alterar o texto para o que quiser e ele mostrará isso como um aviso de isenção. Para este exemplo, alterei a linha para: Salvar o arquivo.

Atualize ou abra a página do Web Access e você verá que o “aviso de isenção” desapareceu. Não foi realmente embora, é claro. Simplesmente não há mais texto para mostrar.

E isso conclui o post. Tudo o que é personalizável sem adicionar nova funcionalidade ou sem tocar em “Branding” agora é explicado.

No próximo post da série, vou me concentrar na personalização da página padrão, a página que é mostrada depois que um usuário faz logon. No post seguinte, vou me concentrar na criação de uma marca para toda a interface do Web Access