Compartir a través de


Personalizar carpetas compartidas

Afecta a Windows Server 2016 Essentials, Windows Server 2012 R2 Essentials, Windows Server 2012 Essentials

De forma predeterminada, las carpetas del servidor se crean en la última partición de datos del Disco 0. Los asociados pueden personalizar la ubicación y especificar carpetas de servidor adicionales utilizando los pasos siguientes:

  1. Utilice una configuración de partición personalizada para crear la imagen de fábrica y, a continuación, la nueva clave del Registro Storage antes de usar sysprep. Durante la configuración inicial, la tarea de configuración inicial del almacenamiento comprueba esta clave del Registro. Si existe, las carpetas de servidor predeterminadas se crearán en el directorio C:\ServerFolders.

    Para crear una nueva clave del Registro Storage

    1. En el servidor, mueva el ratón a la esquina superior derecha de la pantalla y haga clic en Buscar.

    2. En el cuadro de búsqueda, escriba regedit y después haga clic en la aplicación Regedit.

    3. En el panel de navegación, expanda HKEY_LOCAL_MACHINE, SOFTWARE y finalmente Microsoft.

    4. Haga clic con el botón secundario en Windows Server, en Nuevo y, a continuación, en Clave.

    5. Use Storage como el nombre de la clave.

    6. En el panel de navegación, haga clic con el botón secundario en la clave del Registro Storage, en Nueva y, a continuación, en Valor de DWORD (32 bits).

    7. Use el nombre CreateFoldersOnSystem para la cadena.

    8. Haga clic con el botón secundario en CreateFoldersOnSystem y, a continuación, en Modificar. Se abrirá el cuadro de diálogo Editar cadena.

    9. Escriba 1 como el valor de la nueva clave y, a continuación, haga clic en Aceptar.

  2. Utilice el script PostIC.cmd para mover las carpetas a otra ubicación o para crear carpetas adicionales. Vea el ejemplo siguiente: Ejemplo 1: Crear una carpeta personalizada y mover las carpetas personalizadas a una nueva ubicación de PostIC.cmd mediante Windows PowerShell.

  3. Utilice el SDK de Soluciones de Windows Server para mover las carpetas a otra ubicación o para crear carpetas adicionales. Vea el ejemplo siguiente: Ejemplo 2: Crear una carpeta personalizada y mover una carpeta existente mediante el SDK de Soluciones de Windows Server.

    Los asociados tienen la opción de mantener las carpetas de datos en la unidad C. Esto permite que el usuario final o el revendedor determine el diseño de las carpetas de datos en las unidades de datos.

Ejemplo 1: Crear una carpeta personalizada y mover las carpetas personalizadas a una nueva ubicación de PostIC.cmd mediante Windows PowerShell.

  1. Cree un archivo PostIC.cmd para ejecutar tareas de configuración inicial, tal y como se describe en la sección Cómo crear el archivo PostIC.cmd para ejecutar tareas posteriores a la configuración inicial.

  2. Utilice Notepad para crear un archivo llamado customizefolders.ps1 en la carpeta C:\Windows\Setup\Scripts y, a continuación, pegue los siguientes comandos de Windows PowerShell® en el archivo (desmarque las líneas correspondientes en función del comportamiento deseado).

    # Move the Documents folder to D:\ServerFolders
    #Get-WssFolder -name Documents| Move-WssFolder - NewDrive D:\ -Force
    
    # Check for last error. If last error is not null, exit with return code 1
    #If ($error[0] -ne $null) { exit 1}
    
    # Move all folders to D:\ServerFolders
    #foreach( $folder in Get-WssFolder )
    #{
    #    Move-WssFolder $folder -NewDrive D:\ -Force
    #}
    
    # Check for last error. If last error is not null, exit with return code 1
    #If ($error[0] -ne $null) { exit 1}
    
    # Create a custom folder named Custom Folder
    #Add-WssFolder -Name CustomFolder -Path D:\ServerFolders\CustomFolder -Description "Custom Folder"
    
    # Check for last error. If last error is not null, exit with return code 1
    #If ($error[0] -ne $null) { exit 1}
    
    exit 0
    
  3. Agregue la siguiente línea al archivo PostlC.cmd para ejecutar este script.

    REM Lower the execution policy
    "%programfiles%\Windows Server\bin\WssPowershell.exe" "Set-ExecutionPolicy RemoteSigned"
    
    REM Execute the folder customization script
    "%programfiles%\Windows Server\bin\WssPowershell.exe" -NoProfile -Noninteractive -command ". %windir%\setup\scripts\customizefolders.ps1;exit $LASTEXITCODE"
    Set error_level=%ERRORLEVEL%
    
    REM Restore the execution policy to default
    "%programfiles%\Windows Server\bin\WssPowershell.exe" "Set-ExecutionPolicy Restricted"
    Set ERRORLEVEL=%error_level%
    

Ejemplo 2: Crear una carpeta personalizada y mover una carpeta existente mediante el SDK de Soluciones de Windows Server

El código que cree puede ser considerado como un ejecutable y posteriormente llamado desde el archivo PostIC.cmd o directamente desde un complemento instalado.

static void Main(string[] args)
{
 StorageManager storageManager = new StorageManager();
 //Connect to the StorageManager
 storageManager.Connect();

 //Move the Documents folder to D:\ServerFolders
 Folder targetFolder = storageManager.Folders.First(folder => folder.Name == "Documents");

 MoveFolderRequest moveRequest = targetFolder.GetMoveRequest(@"D:\");
 moveRequest.MoveFolder();

 //Verify operation was successful, if so print result
 if (moveRequest.Status == OperationStatus.Succeeded)
 {
  Console.WriteLine("Folder {0} now located at {1}", targetFolder.Name, targetFolder.Path);
 }

 string newFolderName = "New Custom Folder";
 string newFolderLocation = @"C:\ServerFolders\New Custom Folder";

 //Create add request based with specific name and location
 CreateFolderRequest request = storageManager.GetCreateFolderRequest(newFolderName, newFolderLocation);

 //Give Guest user read only permission to folder
 request.PermissionsByName.Add(new NamePermission("Guest", Permission.ReadOnly));

 //Create the new folders
 request.CreateFolder();

 //Verify operation was successful, if so print result
 if( request.Status == OperationStatus.Succeeded)
 {
  Folder newFolder = storageManager.Folders.First(folder => folder.Path == newFolderLocation);

  Console.WriteLine("Folder {0} created at {1}", newFolder.Name, newFolder.Path);
 }
}

Vea también

Creación y personalización de la imagenPersonalizaciones adicionalesPreparación de la imagen para su implementaciónPrueba de la experiencia del cliente