This took an annoying amount of time to piece together, and doesn't handle checking for old versions of MiKTeX (which I don't have a handy copy of). But it does check for excessive age of the template, and outdated versions of TeX Live.
Credits to:
Result, with minimum TL version of 2015, and a nearly two-year old template date:

\documentclass{article}
\usepackage{ifthen}
\usepackage{datenumber}
% https://tex.stackexchange.com/a/8677
\newcounter{datetoday}\newcounter{dayssince}
\newcommand{\daydifftoday}[3]{%
\setmydatenumber{datetoday}{\the\year}{\the\month}{\the\day}%
\setmydatenumber{dayssince}{#1}{#2}{#3}%
\addtocounter{dayssince}{-\thedatetoday}%
}
% https://tex.stackexchange.com/a/10073
\newif\ifmiktex
\newif\iftexlive
\begingroup
\makeatletter
\def\MiKTeX{MiKTeX}
\@onelevel@sanitize\MiKTeX
\def\TeXLive{TeX Live}
\@onelevel@sanitize\TeXLive
\def\WebIIC{Web2C}
\@onelevel@sanitize\WebIIC
% Test if \pdftexbanner exists, which is the case for latex, pdflatex and lualatex
% but not xelatex.
\expandafter\ifx\csname pdftexbanner\endcsname\relax
\PackageWarning{ifdistro}
{Primitive \string\pdftexbanner\space not found!\MessageBreak
Switches \expandafter\string\csname ifmiktex\endcsname\space
and \expandafter\string\csname iftexlive\endcsname\space
will not be set\@gobble}% gobbles the "on line X" part
\else
% Scans for 'MiKTeX' string with catcode 12 (other)
\expandafter\def\expandafter\testmiktex\expandafter#\expandafter1\MiKTeX#2\relax{%
\ifx\empty#2\empty
\global\miktexfalse
\else
\global\miktextrue
\fi
}
\expandafter\expandafter
\expandafter\testmiktex\expandafter\pdftexbanner\MiKTeX\relax\relax
\ifmiktex\else
% Scans for 'TeX Live' string with catcode 12 (other)
\expandafter\def\expandafter\testtexlive\expandafter#\expandafter1\TeXLive#2\relax{%
\ifx\empty#2\empty
\global\texlivefalse
\else
\global\texlivetrue
\fi
}
\expandafter\expandafter
\expandafter\testtexlive\expandafter\pdftexbanner\TeXLive\relax\relax
\iftexlive\else
% Scans for 'Web2C' string with catcode 12 (other)
% This string is used by TeX Live under MS Windows
\expandafter\def\expandafter\testtexlive\expandafter#\expandafter1\WebIIC#2\relax{%
\ifx\empty#2\empty
\global\texlivefalse
\else
\global\texlivetrue
\fi
}
\expandafter\expandafter
\expandafter\testtexlive\expandafter\pdftexbanner\TeXLive\relax\relax
\fi\fi
\fi
\endgroup
% https://tex.stackexchange.com/a/205212
\def\gettexliveversion#1(#2 #3 #4#5#6#7#8)#9\relax{#4#5#6#7}
\edef\texliveversion{\expandafter\gettexliveversion\pdftexbanner\relax}
\AtBeginDocument{
\daydifftoday{2013}{10}{08}
\ifthenelse{\numexpr-\thedayssince>365}{%
{\noindent \Large Greetings, user. This template is over a year old, so you should check the website for updates. The graduate school has almost certainly created some new rules by now.}
}{}
\iftexlive
\ifnum\texliveversion<2015
{\noindent \Large We're on an old version of \TeX{} Live: \texliveversion, go update it.}
\fi
\fi
}
\begin{document}
\section{One}
\end{document}
Good luck, fellow member of the brotherhood of uncompensated thesis class maintainers.
\pdftexbannerfor a distribution version, as in Detecting which version of the LaTeX format is in use. – Mike Renfro Sep 29 '15 at 18:17+1 @percusse .
– touhami Sep 29 '15 at 19:11-shell-escapeunless you are able to convince Karl Berry into adding some script/program that can make such query to the ones allowed by the restricted shell escape. – egreg Sep 29 '15 at 20:25