2.2.3 Psscripts.ini Syntax

 Psscripts.ini is a text file encoded in UTF-16LE with Byte Order Mark (0xFFFE) that conforms to the following Augmented Backus-Naur Form (ABNF) [RFC4234].

  
 IniFile =          WhiteSpace Sections WhiteSpace
 Sections =         1*Section
 WhiteSpaceClass =  CR / LF / WSP
 WhiteSpace =       *WhiteSpaceClass
 SpaceDelimiter =   1*WhiteSpaceClass
  
 Section =          SectionHeader Keys
  
 SectionHeader =    WhiteSpace "[" SectionName "]"   SpaceDelimiter
 SectionName =      TokLogon / TokLogoff / TokStartup / TokShutdown / TokScriptsConfig
  
 Keys =             1*Key
 Key =              TokKey TokIs TokValue
 TokKey =           WhiteSpace 1*(ALPHA / DIGIT)
 TokIs =            WhiteSpace "="
 TokValue =         WhiteSpace 1*(ALPHA / "_" / DIGIT )   SpaceDelimiter
  
 TokLogon =         WhiteSpace "Logon"                    WhiteSpace
 TokLogoff =        WhiteSpace "Logoff"                   WhiteSpace
 TokStartup =       WhiteSpace "Startup"                  WhiteSpace
 TokShutdown =      WhiteSpace "Shutdown"                 WhiteSpace
 TokScriptsConfig = WhiteSpace "ScriptsConfig"            WhiteSpace
  

The specific format of psscripts.ini MUST be the same as described above for scripts.ini with the following additional Sections, Keys and TokValue elements:

Sections: The psscripts.ini file MUST contain the section ScriptsConfig if at least one of its keys is present; otherwise the section SHOULD be omitted.

Keys: Keys in the optional ScriptsConfig section MUST be named StartExecutePSFirst or EndExecutePSFirst.

The StartExecutePSFirst key indicates whether the computer startup and user logon scripts listed in psscripts.ini are to be executed before or after the scripts listed in scripts.ini. If unspecified, the order is implementation-dependent.

The EndExecutePSFirst key indicates whether the computer shutdown and user logoff scripts listed in psscripts.ini are to be executed before or after the scripts listed in scripts.ini. If unspecified, the order is implementation-dependent.

TokValue: The values of the StartExecutePSFirst and EndExecutePSFirst keys in the optional ScriptsConfig section MUST have the text value of case-insensitive "true" or "false". If "true", scripts listed in psscripts.ini MUST be executed before the scripts listed in scripts.ini. If "false", scripts listed in psscripts.ini MUST be executed after the scripts listed in scripts.ini.