Boa tarde, Guilherme.
Esses cursos de PowerShell foram bastante esclarecedores.
Hoje me deparei com a necessidade de obter a lista das aplicações publicadas em nosso servidor de área de trabalho remota do Windows. Após alguma pesquisa, descobri que o cmdlet "Get-RDRemoteApp" supre essa necessidade.
Rodando o PowerShell com privilégios administrativos em minha estação de trabalho, tentei usar as sessões do PowerShell da seguinte forma:
Conectei, com sucesso, ao servidor RDS:
Enter-PSSession -ComputerName SERVIDOR -Credential DOMINIO\administrador
Resultado: sucesso!
Uma vez conectado ao meu servidor RDS (o prompt passou a exibir o nome do servidor entre colchetes). Executei o comando para obter a listagem desejada:
Get-RDRemoteApp
Resultado: obtive a mensagem de erro "Get-RDRemoteApp : A implantação dos Serviços de Área de Trabalho Remota não existe em <SERVIDOR.DOMINIO>. Essa operação pode ser executada após a criação de uma implantação..."
Para testar a conexão, executei os comandos HOSTNAME.EXE e gci (em uma pasta do servidor) e obtive as respostas esperadas.
Ainda conectado ao servidor, testei o Invoke-Command:
Invoke-Command {Get-RDRemoteApp}
Resultado: erro semelhante ao do passo 3., acima.
Por fim, conectei-me àquele servidor através da Área de Trabalho Remota do Windows com a mesma credencial utilizada no passo "1.". Já no servidor, abri o prompt do PowerShell e executei o comando:
Get-RDRemoteApp
Resultado: Sucesso! Obtive a listagem esperada.
Você sabe por que o cmdlet Get-RDRemoteApp teve aquele comportamento quando executado via PSSession?
A impressão é que o comando foi executado no contexto da minha estação. Isso explicaria aquela mensagem de erro. Mas, conforme mencionei, eu estava em uma sessão interativa do PowerShell.
Grato.