Questions/Réponses à propos des principaux sujets des GPO (Group Policy Object)
La référence Microsoft (KB101230) à propos du type REG_EXPAND_SZ indique qu'il sert à écrire et lire du texte contenant des variables d'environnement comme par exemple :
Le dossier de Windows est "%windir%.
En réalité, ce type de donnée peut être utilisé aussi pour traiter des données formatées, comme par exemple (en VB):
"This is my text with a line feed" & VbCrLf & "This is a new line. Here is a Tab:" & vbTab & "After the Tab."
Ce texte contient un saut de ligne et une tabulation à la 2ème ligne. L'utilisation de ce type de donnée peut s'avérer utile en particulier pour éviter d'utiliser le type plus complexe REG_MULTI_SZ. Pour vérifier cette confirmation, voici un script complet mis à votre disposition (à noter que cette remarque est valable pour n'importe quel langage de programmation pour Windows utilisant les API RegSetValueEx et RegQueryValueEx):
'==========================================================================
' AUTHOR:  Abdel YEZZA
' DATE  : 05/11/2007
'
' COMMENT: Demonstrates writting and reading formated text (multi-line)                            
'	  to/from the registry using REG_EXPAND_SZ data type
'
'==========================================================================


Option Explicit

Dim WshShell, bKey
Set WshShell = WScript.CreateObject("WScript.Shell")

Call Main()

Sub Main()
	WriteToReg "HKCU", "KeyTest\ValueTest", "This is my text with a line feed" & VbCrLf & _
	"This is new line. Here is a Tab:" & vbTab & "After the Tab."
	MsgBox "Read value: " & ReadFromReg("HKCU", "KeyTest\ValueTest")
	
	Set WshShell=Nothing
End Sub

Function ReadFromReg(Hkey, strKey)
	ReadFromReg = WshShell.RegRead(Hkey + "\"  + strKey)
End Function


sub WriteToReg(Hkey, strKey, strVal)
	WshShell.RegWrite Hkey + "\" + strKey, strVal, "REG_EXPAND_SZ"
End Sub
Voici la figure illustrant le résultat dans la base de registre :