

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Unità di rete Map Server Message Block (SMB)
<a name="map-smb-network-drives"></a>

È possibile utilizzare qualsiasi macchina che si trovi nella rete di destinazione di SMBs. Se si preferisce configurare la configurazione tramite script di sessione, è necessario innanzitutto creare uno script che venga richiamato quando l'utente è connesso, poiché lo script di sessione è configurato per immagine.

Per mappare le unità di rete Server Message Block (SMB), effettuate le seguenti operazioni.

## Fase 1: Verificare che i servizi siano in esecuzione
<a name="smb-start"></a>

Dal menu Start, apri **services.msc** e assicurati che i seguenti servizi siano tutti in esecuzione:
+ Client DNS
+ Pubblicazione di risorse Function Discovery
+ Scoperta SSDP
+ UPnHost del dispositivo P

## Fase 2: Creare una cartella SMB
<a name="create-smb-server-manager"></a>

Puoi creare un SMB con File Explorer.

**Per utilizzare File Explorer per configurare le cartelle condivise SMB**

1. **Fai clic con il pulsante destro del mouse sulla cartella SMB e scegli **Proprietà, Condivisione**.**

1. Scegli **Condivisione avanzata**.

1. Per la **condivisione avanzata**, seleziona **Condividi questa cartella**, quindi scegli **Autorizzazioni**.

1. Se desideri fornire le autorizzazioni a tutti i tuoi utenti, lasciala come impostazione predefinita.

   **Se desideri aggiungere utenti specifici, in **Condividi autorizzazioni**, scegli **Tutti, Rimuovi**.** Quindi scegli **Aggiungi** e inserisci gli utenti o i gruppi a cui desideri accedere alla condivisione di file.

   Per ogni utente o gruppo che aggiungi, scegli **Consenti** per assegnare le **autorizzazioni **Controllo completo**, **Modifica** o Lettura**.

1. **Scegli **Applica**, **OK, OK****, Chiudi**.**

## Fase 3: Verificare che l'SMB sia accessibile nel dominio
<a name="verify-smb"></a>

Apri il file explorer da un altro server che utilizza lo stesso gruppo di sicurezza e si unisce allo stesso dominio. Accedi alla condivisione di rete tramite il percorso di rete fornito accedendo alla cartella del percorso di rete. Scegli **Proprietà**, **Condivisione**, **Percorso di rete**.

## Passaggio 4: consentire agli utenti di creare collegamenti simbolici da local/domain Group Policy
<a name="enable-smlink-smb"></a>

Abilita la creazione di link simbolici da local/domain Group Policy per i tuoi utenti per garantire che lo script di sessione o lo script di accesso siano definiti nei criteri di gruppo. Ciò consente di creare uno script nel passaggio 5 con autorizzazioni utente.

**Per consentire agli utenti di creare collegamenti simbolici da Group Policy local/domain**

1. Nel GPO, che verrà utilizzato per definire questa politica, scegliete **Configurazione computer**, **Impostazioni Windows, Impostazioni** di **sicurezza**, **Assegnazione dei diritti utente**, **Politica**, **Crea** collegamenti simbolici. Quindi, aggiorna l'autorizzazione che gli utenti possono includere. Per ulteriori informazioni sulla creazione di collegamenti simbolici, consulta [Creare collegamenti simbolici](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/security-policy-settings/create-symbolic-links).

1. Per impostazione predefinita, remote-to-remote (ad esempio, una mappatura di un collegamento simbolico a una condivisione di rete all'interno di un altro collegamento simbolico simile) e remote-to-local (ad esempio, un collegamento simbolico che mappa a una condivisione locale all'interno di un collegamento simbolico mappato a una condivisione di rete) gli accessi sono disabilitati. Se è necessaria la mappatura dei collegamenti simbolici, esegui i comandi seguenti:
   + Per abilitare l'accesso remote-to-remote - `fsutil behavior set SymlinkEvaluation R2R:1`
   + Per abilitare remote-to-local l'accesso - `fsutil behavior set SymlinkEvaluation R2L:1 `

## Fase 5: Creare uno script che venga richiamato quando l'utente è connesso
<a name="create-script-smb"></a>

Crea uno script che venga richiamato quando l'utente è connesso utilizzando uno script di sessione WorkSpaces delle applicazioni o uno script di accesso GPO. Se scegli di utilizzare lo script di sessione WorkSpaces Applicazioni, lo script di sessione verrà applicato solo a quella specifica immagine delle Applicazioni. WorkSpaces Se si utilizza lo script di accesso GPO, GPOs verrà applicato al dominio/unità organizzativa, che può essere configurato ai propri parchi veicoli. In questo modo non avrai bisogno di configurare script per ogni immagine che possiedi.

### Opzione 1: usa uno script di sessione per montare la cartella condivisa SMB in I miei file (usando Powershell)
<a name="powershell-smb"></a>

**Per utilizzare uno script di sessione per montare la cartella condivisa SMB in I miei file (utilizzando Powershell)**

1. Dopo aver definito correttamente le autorizzazioni utente, configura il seguente script di esempio utilizzando il contesto utente o il contesto di sistema.

   Di seguito è riportato lo script config.json di esempio che utilizza il contesto utente.

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

   Di seguito è riportato lo script di esempio che utilizza il contesto di 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 utilizzi flotte multisessione, puoi utilizzare la variabile di ambiente di sistema `$env:AppStream_Session_UserName` per accedere alla cartella I miei file dell'utente. Ciò consente la mappatura al `Admin` posto del nome utente quando si utilizza il contesto di 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
   ```

### Opzione 2: Usa GPO Logon Script per montare le cartelle condivise SMB in I miei file
<a name="powershell-gpo-logon"></a>

1. Monta le cartelle condivise SMB creando un collegamento simbolico su un file o una cartella. Per ulteriori informazioni, vedere [Esempio 7: creazione di un collegamento simbolico a un](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) file o una cartella

1. [Assegna script di accesso utente.](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. Aggiungi il seguente script per creare una giunzione per Custom Home Folders, in I miei file.

   ```
   # 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 utilizzi immagini di Windows Server 2022, potresti riscontrare un problema a causa del quale la cartella I miei file non viene creata finché lo script di accesso non viene completato correttamente. Ciò potrebbe causare un timeout quando l'operazione di montaggio SMB viene eseguita tramite Logon Script. Per risolvere questo problema, montando allo stesso tempo l'SMB, attivate un processo indipendente (`Start-Process`) utilizzando lo script di accesso effettuando le seguenti operazioni:

   1. Crea uno script di accesso.

      ```
      # 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. Aggiorna questa configurazione del ritardo dello script di accesso utilizzando i criteri di gruppo, se necessario. Per ulteriori informazioni, vedere [Configurare Logon Script Delay](https://admx.help/?Category=Windows_8.1_2012R2&Policy=Microsoft.Policies.GroupPolicy::LogonScriptDelay). Il ritardo dello script di accesso sarà l'intervallo di tempo che verrà ritardato prima dell'attivazione dello script di accesso asincrono. Il ritardo predefinito è di 5 minuti.

   1. Riavvia la flotta per applicare il ritardo di Logon Script.