Administrar la función Target Device Personality

Por lo general, todos los dispositivos de destino que comparten un disco virtual deben tener configuraciones idénticas. La función Target Device Personality permite definir datos para dispositivos de destino específicos y ponerlos a disposición de esos dispositivos de destino en el momento del arranque. Las aplicaciones y los scripts personalizados pueden utilizar estos datos para diversos fines.

Por ejemplo, supongamos que se utiliza el servidor de Provisioning Services para admitir los equipos de tres aulas. Cada aula tiene su propia impresora y el objetivo es que los equipos de cada aula utilicen la impresora correcta de forma predeterminada. Al usar la función Target Device Personality, puede definir un campo de impresora predeterminada y, posteriormente, introducir un valor de nombre de la impresora para cada dispositivo de destino. El campo y los valores se definen en Target Device Properties. Esta información se almacena en la base de datos. Cuando el dispositivo de destino arranca, se obtiene la información de la impresora específica para cada dispositivo de la base de datos y se escribe en un archivo INI en el disco virtual. Al usar una aplicación o un script personalizado que crea, es posible obtener el valor de la impresora y escribirlo en el Registro. Con este método, cada vez que arranca un dispositivo de destino, este se configura para utilizar la impresora predeterminada correcta en su aula.

La cantidad de campos y de datos que se puede definir para cada dispositivo de destino se limita a 64 KB o 65 536 bytes por dispositivo de destino. Cada campo individual puede tener hasta 2047 bytes.

Tareas de Target Device Personality

  • Definir los datos de personalidad para un solo dispositivo de destino a través de la consola
  • Definir los datos de personalidad para varios dispositivos de destino a través de la consola
  • Utilizar los datos de Target Device Personality

Definir los datos de personalidad de un solo dispositivo de destino a través de la consola

Para definir los datos de personalidad para un solo dispositivo de destino:

  1. En la consola, haga clic con el botón secundario en el dispositivo de destino para el cual quiere definir datos de personalidad y, a continuación, seleccione la opción de menú Properties.
  2. Seleccione la ficha Personality.
  3. Haga clic en el botón Add. Aparecerá el cuadro de diálogo Add/Edit Personality String. Nota: No existe límite fijo para la cantidad de nombres de campo y cadenas asociadas que se pueden agregar. No obstante, el límite para la cantidad total de datos de personalidad asignados a una sola cadena (combinación de nombres y datos) es aproximadamente 2047 bytes. Asimismo, la cantidad total de datos contenidos en nombres, cadenas y delimitadores se limita a 64 KB o 65 536 bytes por dispositivo de destino. El administrador comprueba este límite cuando se intenta agregar una cadena. Si se supera el límite, aparece un mensaje de advertencia que indica que no puede crear una configuración no válida. Los datos de Target Device Personality se tratan de la misma forma que todas las demás propiedades. Estos datos se heredan cuando se agregan automáticamente nuevos dispositivos de destino a la base de datos mediante las opciones Add New Target Device Silently o Add New Target Device with BIOS Prompts.
  4. Introduzca un nombre y un valor de cadena. Nota: Puede utilizar cualquier nombre para el campo Name, pero no puede repetir un nombre de campo en el mismo dispositivo de destino. Los nombres de campo no distinguen entre mayúsculas y minúsculas. Es decir, el sistema interpreta que “NOMBREDECAMPO” y “nombreDeCampo” son el mismo nombre. Los espacios en blanco que se introducen antes o después del nombre de campo se eliminan automáticamente. Un nombre de personalidad no puede comenzar con $. Este símbolo se utiliza para valores reservados, como $DiskName y $WriteCacheType.
  5. Haga clic en OK.

Para agregar campos y valores adicionales, repita los pasos 5 y 6 según sea necesario. Cuando termine de agregar los datos, haga clic en OK para salir del cuadro de diálogo Target Device Properties.

Definir los datos de personalidad para varios dispositivos de destino a través de la consola

Para definir la función Target Device Personality en varios dispositivos:

  1. En la consola, haga clic con el botón secundario en el dispositivo de destino que contiene la configuración de personalidad que quiere compartir con otro dispositivo y, a continuación, seleccione Copy. Aparecerá el cuadro de diálogo Copy Device Properties.
  2. En el panel de detalles, resalte los dispositivos de destino en los que quiere copiar la configuración de personalidad y, a continuación, haga clic con el botón secundario y seleccione el menú Paste device properties.
  3. Haga clic en la opción Personality strings (también tiene la opción de copiar otras propiedades en este momento) y, a continuación, haga clic en Paste.

Utilizar los datos de Target Device Personality

Una vez que el sistema de archivos queda disponible para el dispositivo de destino, los datos de personalidad se escriben en un archivo de texto INI estándar de Windows denominado Personality.ini. El archivo se almacena en el directorio raíz del sistema de archivos del disco virtual para que las aplicaciones o los scripts personalizados puedan acceder al archivo con facilidad.

El archivo tiene el siguiente formato:

[StringData]
FieldName1=Field data for first field
FieldName2=Field data for second field
<!--NeedCopy-->

Todas las aplicaciones o los scripts personalizados pueden acceder a este archivo. La API de Windows estándar de .INI puede consultar este archivo. Además, se proporciona una aplicación de línea de comandos denominada GetPersonality.exe para facilitar el acceso de los archivos por lotes a la configuración de personalidad.

Es posible obtener el nombre y el modo del disco virtual de un dispositivo de destino mediante GetPersonality.exe. Los siguientes valores reservados se incluyen en la sección [StringData] del archivo Personality.ini:

$DiskName=<xx>
$WriteCacheType=<0 (Private image)
All other values are standard image; 1 (Server Disk), 2 (Server Disk Encrypted), 3 (RAM), 4 (Hard Disk), 5 (Hard Disk Encrypted), 6 (RAM Disk), or 7 (Difference Disk). Min=0, Max=7, Default=0>
<!--NeedCopy-->

Las letras xx representan el nombre del disco. Un nombre de disco virtual no puede comenzar por $. Este símbolo se utiliza para valores reservados como $DiskName y $WriteCacheType. A continuación, se muestra el mensaje que aparece si se introduce un nombre que empieza con $:

A name cannot start with a $. This is used for reserve values like $DiskName and $WriteCacheType. The $DiskName and $WriteCacheType values can be retrieved on the target device using GetPersonality.exe.
<!--NeedCopy-->

El parámetro $WriteCacheType incluye las siguientes opciones para el modo RAM Cache with overflow to local hard disk:

  • private = 0
  • serverCache = 1
  • deviceRamCache = 3
  • deviceDiskCache = 4
  • deviceRamDisk = 6
  • serverPersistent = 7
  • deviceRamCacheWithDiskOverflow = 9 *

GetPersonality.exe

La utilidad de línea de comandos GetPersonality.exe permite que los usuarios accedan a los parámetros de Target Device Personality desde un archivo por lotes de Windows. El programa consulta el archivo INI para el usuario y coloca las cadenas de personalidad en las ubicaciones elegidas por el usuario. GetPersonality.exe es compatible con las siguientes opciones de línea de comandos:

``` pre codeblock GetPersonality FieldName /r=RegistryKeyPath <- Place field in registry GetPersonality FieldName /f=FileName <- Place field in file GetPersonality FieldName /o <- Output field to STDOUT GetPersonality /? or /help <- Display help


## Ejemplos

Definir un valor de clave de Registro:

En el siguiente ejemplo, se obtiene el valor de los datos de Target Device Personality del campo DefaultPrinter y se escribe en el Registro del dispositivo de destino para establecer la impresora predeterminada para el dispositivo.

La cadena de Target Device Personality establecida en Target Device Properties es:

DefaultPrinter= \CHESBAY01\SAVIN 9935DPE/2035DPE PCL 5e,winspool,Ne03:


Un archivo por lotes que se ejecuta en el dispositivo de destino incluye la siguiente línea:

GetPersonality DefaultPrinter /r=HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Device


Nota: El nombre de la clave real debe ser el nombre UNC de la impresora de red, como \\\dc1\Main, y el valor que debe introducirse para la clave es similar a winspool,Ne01: donde Ne01 es un número exclusivo para cada impresora instalada.

## Definir variables de entorno

La definición de variables de entorno con datos de personalidad es un proceso de dos pasos:

1.  Utilice el comando GetPersonality con la opción /f para insertar la variable en un archivo temporal.

1.  Utilice el comando set para establecer la variable. Por ejemplo, para establecer el comando Path de la variable de entorno para el nombre de personalidad de un dispositivo de destino, defina Pathname con el valor de cadena:

    ```
    %SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Microsoft Office\OFFICE11;C:\Program Files\Microsoft SQL Server\80\Tolls\Binn
    <!--NeedCopy-->
La opción /f crea un archivo temporal, lo que permite asignar un nombre, que en este caso es temp.txt. Las siguientes líneas deben incluirse en el archivo por lotes:

```
GetPersonality Pathname /f=temp.txt
set /p Path= <temp.txt
<!--NeedCopy--> ```

Nota: Si ya existe el nombre de archivo especificado con la opción /f,
GetPersonality no anexa la línea al archivo. En lugar de eso, sobrescribe la línea existente en el archivo.
Administrar la función Target Device Personality