def ConvertBoolean(value):
    """
    Attempt to convert value to a boolean. If the value is not a possible boolean
    string the result will return None instead of True or False.

    :param value: Value which should be checked as a boolean.
    :return: True or False if the value is recognized, or None if it is not a valid
            boolean string.
    """
    value = str(value).lower()
    if value in ['yes', '1', 'true']:
        return True
    if value in ['no', '0', 'false']:
        return False
    return None