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
-
Clique com o botão direito do mouse na pasta SMB e escolha Propriedades, Compartilhamento.
-
Escolha Compartilhamento avançado.
-
Para Compartilhamento avançado, marque Compartilhar esta pasta e escolha Permissões.
-
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.
-
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.
Etapa 4: permitir que os usuários criem links simbólicos a partir da política de grupo local/de domínio
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
-
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
. -
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)
-
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
-
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 paraAdmin
, 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
-
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
-
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:-
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" }
-
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. -
Reinicie sua frota para aplicar o atraso do script de login.
-