Não há nada embutido no Windows que faça isso. Você precisará escrever um script ou aplicativo e dispará-lo no logon (digamos, por meio do Gerenciador de Tarefas).
Aqui está um script básico do PowerShell que pode ajudá-lo:
# Ask for user reason.
$reason = Read-Host -Prompt 'Why are you logging on?'
# Write reason to Event Log
Write-EventLog -LogName Application -Source WSH -EventID 666 -EntryType Information -Message "User provided reason '$reason' for logon."
# If reason is less than 10 characters, consider it unacceptable, and log the user off.
if ($reason.length -lt 10) {
Write-Host "Reason not good enough (or blank)!"
logoff.exe
}