

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Mapear unidades de rede Server Message Block (SMB)
<a name="map-smb-network-drives"></a>

Você pode usar qualquer máquina que esteja sob a rede alvo do 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 Server Message Block (SMB), execute as etapas a seguir.

## Etapa 1: garantir que os serviços estejam em execução
<a name="smb-start"></a>

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
+ UPnHost do dispositivo P

## Etapa 2: criar uma pasta SMB
<a name="create-smb-server-manager"></a>

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**.

1. Escolha **Compartilhamento avançado**.

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

1. 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**.

1. Escolha **Aplicar**, **OK**, **OK**, **Fechar**.

## Etapa 3: verificar se o SMB está acessível no domínio
<a name="verify-smb"></a>

Abra o Explorador de Arquivos de outro servidor que usa o mesmo grupo de segurança e ingressa no 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**.

## Etapa 4: Permitir que os usuários criem links simbólicos a partir da Política de local/domain Grupo
<a name="enable-smlink-smb"></a>

Habilite a criação de links simbólicos da Política de local/domain Grupo para seus usuários para garantir o script de sessão ou 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 local/domain Grupo**

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](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/security-policy-settings/create-symbolic-links).

1. Por padrão remote-to-remote (por exemplo, um mapeamento de link simbólico para um compartilhamento de rede dentro de outro link simbólico semelhante) e remote-to-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), os acessos são desativados. Se o mapeamento de links simbólicos for necessário, execute os comandos abaixo:
   + Para habilitar remote-to-remote o acesso - `fsutil behavior set SymlinkEvaluation R2R:1`
   + Para habilitar remote-to-local o acesso - `fsutil behavior set SymlinkEvaluation R2L:1 `

## Etapa 5: criar um script que seja invocado quando o usuário estiver conectado
<a name="create-script-smb"></a>

Crie um script que seja chamado quando o usuário estiver conectado usando um script de sessão de WorkSpaces aplicativos ou um script de login do GPO. Se você optar por usar o script de sessão de WorkSpaces Aplicativos, o script de sessão só será aplicado a essa imagem específica de WorkSpaces Aplicativos. Se você usar o script de logon do GPO, GPOs ele será aplicado 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.

### Opção 1: usar um script de sessão para montar a pasta compartilhada SMB em Meus arquivos (usando o Powershell)
<a name="powershell-smb"></a>

**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
   ```

1. 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
   ```

### Opção 2: usar o script de login do GPO para montar as pastas compartilhadas SMB em Meus arquivos
<a name="powershell-gpo-logon"></a>

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](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.                                         management/new-item?view=powershell-7.4#example-7-create-a-symbolic-link-to-a-file-or-folder)

1. [Atribuir scripts de login do usuário.](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-                                 2012-r2-and-2012/dn789196(v=ws.11)#how-to-assign-user-logon-scripts)

1. 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"
      }
      ```

   1. 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](https://admx.help/?Category=Windows_8.1_2012R2&Policy=Microsoft.Policies.GroupPolicy::LogonScriptDelay). 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.

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