Unidades de rede de Server Message Block (SMB) - Amazon AppStream 2.0

Unidades de rede de Server Message Block (SMB)

Você pode usar qualquer máquina que esteja na rede de destino das SMBs. Se preferir configurar a instalação por meio de scripts de sessão, será necessário primeiro criar um script que seja invocado quando o usuário estiver conectado, pois o script de sessão é configurado por imagem.

Para mapear unidades de rede SMB (Server Message Block), execute as etapas a seguir.

Etapa 1: garantir que os serviços estejam em execução

No menu Iniciar, abra services.msc e verifique se os seguintes serviços estão todos em execução:

  • Cliente DNS

  • Publicação de recursos de descoberta de funções

  • Descoberta de SSDP

  • Host do dispositivo UPnP

Etapa 2: criar uma pasta SMB

Você pode criar um SMB com o Explorador de Arquivos.

Para usar o Explorador de Arquivos para configurar suas pastas SMB compartilhadas
  1. Clique com o botão direito do mouse na pasta SMB e escolha Propriedades, Compartilhamento.

  2. Escolha Compartilhamento avançado.

  3. Para Compartilhamento avançado, marque Compartilhar esta pasta e escolha Permissões.

  4. Para fornecer permissões a todos os seus usuários, deixe essa configuração como padrão.

    Para adicionar usuários específicos, em Permissões de compartilhamento, escolha Todos, Remover. Em seguida, escolha Adicionar e insira os usuários ou grupos que você deseja que acessem o compartilhamento de arquivos.

    Para cada usuário ou grupo adicionado, escolha Permitir para atribuir permissões de Controle total, Alterar ou Ler.

  5. Escolha Aplicar, OK, OK, Fechar.

Etapa 3: verificar se o SMB está acessível no domínio

Abra o explorador de arquivos de outro servidor que usa o mesmo grupo de segurança e se junta ao mesmo domínio. Acesse o compartilhamento de rede pelo caminho de rede fornecido navegando até a pasta do caminho de rede. Escolha Propriedades, Compartilhamento, Caminho de rede.

Habilite a criação de links simbólicos da política de grupo local/de domínio para que seus usuários garantam o script de sessão ou o script de login definido na política de grupo. Isso permite que você crie um script na Etapa 5 com permissões de usuário.

Para permitir que os usuários criem links simbólicos a partir da política de grupo local/de domínio
  1. No GPO que será usado para definir essa política, escolha Configuração do computador, Configurações do Windows, Configurações de segurança, Atribuição de direitos de usuário, Política, Criar links simbólicos. Em seguida, atualize a permissão para inclusão dos usuários. Para obter mais informações sobre como criar links simbólicos, consulte Create symbolic links.

  2. Por padrão, os acessos de remoto para remoto (por exemplo, um mapeamento de link simbólico para um compartilhamento de rede dentro de outro link simbólico semelhante) e remoto para local (por exemplo, um mapeamento de link simbólico para um compartilhamento local dentro de um mapeamento de link simbólico para um compartilhamento de rede) são desativados. Se o mapeamento de links simbólicos for necessário, execute os comandos abaixo:

    • Para permitir o acesso remoto para remoto: fsutil behavior set SymlinkEvaluation R2R:1

    • Para permitir o acesso remoto para local: fsutil behavior set SymlinkEvaluation R2L:1

Etapa 5: criar um script que seja invocado quando o usuário estiver conectado

Crie um script que seja invocado quando o usuário estiver conectado usando um script de sessão do AppStream 2.0 ou um script de login do GPO. Se você optar por usar o script de sessão do AppStream 2.0, ele só será aplicado a essa imagem específica do AppStream 2.0. Se você usar o script de login do GPO, os GPOs serão aplicados ao domínio/OU, que pode ser configurado às suas frotas. Dessa forma, não é necessário configurar scripts para cada imagem que você possui.

Para usar um script de sessão para montar a pasta compartilhada SMB em Meus arquivos (usando o Powershell)
  1. Depois de definir as permissões do usuário, configure o script de exemplo a seguir usando o contexto do usuário ou o contexto do sistema.

    Veja a seguir um exemplo de script config.json que usa o contexto do usuário.

    "SessionStart": { "executables": [ { "context": "system", "filename": "", "arguments": "", "s3LogEnabled": true }, { "context": "user", "filename": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", "arguments": "-File \"C:\\AppStream\\SessionScripts\\userStart.ps1\"", "s3LogEnabled": true } ], "waitingTime": 30

    Veja a seguir um exemplo de script que usa o contexto do sistema.

    "SessionStart": { "executables": [ { "context": "system", "filename": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", "arguments": "-File \"C:\\AppStream\\SessionScripts\\systemStart.ps1\"", "s3LogEnabled": true }, { "context": "user", "filename": "", "arguments": "", "s3LogEnabled": true } ], "waitingTime": 30
  2. Se você estiver usando frotas multissessão, poderá usar a variável de ambiente do sistema $env:AppStream_Session_UserName para navegar até a pasta Meus arquivos do usuário. Isso permite mapear para Admin, em vez do nome do usuário, ao usar o contexto do sistema $env:USERNAME.

    # Define the target application path $targetPathes = "<SMB-PATH>" # Define the shortcut location $symlinkLocation = "C:\Users\$Env:AppStream_Session_UserName\My Files\Custom Folder" # Create the junction for Custom Home Folder under MyFiles New-Item -ItemType SymbolicLink -Path $symlinkLocation -Target $targetPaths
  1. Monte pastas compartilhadas SMB criando um link simbólico em um arquivo ou pasta. Para obter mais informações, consulte Example 7: Create a symbolic link to a file or folder

  2. Atribuir scripts de login do usuário.

  3. Adicione o script a seguir para criar uma junção para pastas base personalizadas, em Meus arquivos.

    # Define the target application path $targetPathes = "<SMB-PATH>" # Define the shortcut location $symlinkLocation = "C:\Users\$env:Username\My Files\Custom Folder" # Create the junction for Custom Home Folder under MyFiles New-Item -ItemType SymbolicLink -Path $symlinkLocation -Target $targetPaths

    Se você estiver usando imagens do Windows Server 2022, talvez ocorra um problema em que a pasta Meus arquivos não seja criada até que o script de login seja concluído com êxito. Isso pode causar um tempo limite quando a operação de montagem do SMB é feita por meio do script de login. Para resolver esse problema, ao mesmo tempo em que monta seu SMB, acione um processo independente (Start-Process) usando seu script de login fazendo o seguinte:

    1. Crie um script de login.

      # Define the log file path $logFilePath = "<This-is-where-your-log-files-are-saved>" # Function to write log messages function Write-Log { param ( [string]$message ) $timestamp = get-date -format "yyyy-MM-dd HH:mm:ss" $logMessage = "$timestamp - $message" $logMessage | Out-File -FilePath $logFilePath -Append -Encoding UTF8 } try { Write-Log "Setting execution policy..." Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force Write-Log "Unblocking logon script file..." $filePath = "<This-is-where-your-actual-logon-script-is-linked>" Unblock-File -Path $filePath Write-Log "Running actual logon script..." Start-Process -FilePath 'Powershell.exe' -ArgumentList "-File `"$filePath`"" } catch { Write-Log "An error occurred: $_" "ERROR" }
    2. Atualize essa configuração de atraso do script de login usando a política de grupo, se necessário. Para obter mais informações, consulte Configure Logon Script Delay. O atraso do script de login será a quantidade de tempo que ele atrasará antes de acionar o script de login assíncrono. O atraso padrão é 5 minutos.

    3. Reinicie sua frota para aplicar o atraso do script de login.