

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將內部部署檔案共用組態遷移至 Amazon FSx
<a name="migrate-file-share-config-to-fsx"></a>

您可以使用下列程序，將現有的檔案共享組態遷移至 Amazon FSx。在此程序中，來源檔案伺服器是您要遷移至 Amazon FSx 的檔案共用組態的檔案伺服器。

**注意**  
首先將檔案遷移至 Amazon FSx，然後再遷移檔案共享組態。如需詳細資訊，請參閱[將現有的檔案儲存遷移至 FSx for Windows File Server](migrate-files-fsx.md)。

**將現有的檔案共享遷移至 FSx for Windows File Server**

1. 在來源檔案伺服器上，從內容功能表中選擇以**管理員身分執行**。以管理員身分開啟 **Windows PowerShell**。

1. 在 PowerShell 中`SmbShares.xml`執行下列命令，將來源檔案伺服器的檔案共享匯出至名為 的檔案。在此範例中，將 F： 取代為您匯出檔案共享之檔案伺服器上的磁碟機代號。

   ```
   $shareFolder = Get-SmbShare -Special $false | ? { $_.Path -like “F:\*” }
   $shareFolder | Export-Clixml -Path F:\SmbShares.xml
   ```

1. 編輯 `SmbShares.xml` 檔案，將 F： （磁碟機代號） 的所有參考取代為 D：\$1share，因為 Amazon FSx 檔案系統位於 D：\$1share。

1. 將現有的檔案共享組態匯入 FSx for Windows File Server。在可存取目的地 Amazon FSx 檔案系統和來源檔案伺服器的用戶端上，複製儲存的檔案共用組態。然後使用下列命令將其匯入變數。

   ```
   $shares = Import-Clixml -Path F:\SmbShares.xml
   ```

1. 使用下列其中一個選項，準備在 FSx for Windows File Server 檔案伺服器上建立檔案共享所需的登入資料物件。

   若要以互動方式產生登入資料物件，請使用下列命令。

   ```
   $credential = Get-Credential
   ```

   若要使用 AWS Secrets Manager 資源產生登入資料物件，請使用下列命令。

   ```
   $credential = ConvertFrom-Json -InputObject (Get-SECSecretValue -SecretId $AdminSecret).SecretString
   $FSxAdminUserCredential = (New-Object PSCredential($credential.UserName,(ConvertTo-SecureString $credential.Password -AsPlainText -Force)))
   ```

1. 使用下列指令碼將檔案共用組態遷移至 Amazon FSx 檔案伺服器。

   ```
   $FSxAcceptedParameters = ("ContinuouslyAvailable", "Description", "ConcurrentUserLimit", "CATimeout", "FolderEnumerationMode", "CachingMode", "FullAccess", "ChangeAccess", "ReadAccess", "NoAccess", "SecurityDescriptor", "Path", "Name", "EncryptData")
   ForEach ($item in $shares) {
       $param = @{};
       Foreach ($property in $item.psObject.properties) {
           if ($property.Name -In $FSxAcceptedParameters) {
               $param[$property.Name] = $property.Value
           }
       }
       Invoke-Command -ConfigurationName FSxRemoteAdmin -ComputerName amznfsxxxxxxxxx.corp.com -ErrorVariable errmsg -ScriptBlock { New-FSxSmbShare -Credential $Using:credential @Using:param }
   }
   ```