docs: def _getScriptSettingsFromIniFile(policy_info):
      '''
      helper function to parse/read a GPO Startup/Shutdown script file
  
      psscript.ini and script.ini file definitions are here
          https://msdn.microsoft.com/en-us/library/ff842529.aspx
          https://msdn.microsoft.com/en-us/library/dd303238.aspx
      '''
      _existingData = None
      if os.path.isfile(policy_info['ScriptIni']['IniPath']):
          with salt.utils.files.fopen(policy_info['ScriptIni']['IniPath'], 'rb') as fhr:
              _existingData = fhr.read()
          if _existingData:
              try:
                  _existingData = deserialize(_existingData.decode('utf-16-le').lstrip('\ufeff'))
                  log.debug('Have deserialized data %s', _existingData)
              except Exception as error:
                  log.exception('An error occurred attempting to deserialize data for %s', policy_info['Policy'])
                  raise CommandExecutionError(error)
              if 'Section' in policy_info['ScriptIni'] and policy_info['ScriptIni']['Section'].lower() in [z.lower() for z in _existingData.keys()]:
                  if 'SettingName' in policy_info['ScriptIni']:
                      log.debug('Need to look for %s', policy_info['ScriptIni']['SettingName'])
                      if policy_info['ScriptIni']['SettingName'].lower() in [z.lower() for z in _existingData[policy_info['ScriptIni']['Section']].keys()]:
                          return _existingData[policy_info['ScriptIni']['Section']][policy_info['ScriptIni']['SettingName'].lower()]
                      else:
                          return None
                  else:
                      return _existingData[policy_info['ScriptIni']['Section']]
              else:
                  return None
  
      return None