Директива #Requires и автоматическая переменная $PSVersionTable в PowerShell выполняют разные функции.
Директива #Requires предотвращает запуск скрипта без необходимых элементов. 3 Она может указывать требования к версии PowerShell, модулям или другим параметрам. 3 Если требования не выполнены, PowerShell не запускает скрипт и не предоставляет другие функции среды выполнения, например автозаполнение. 3
Автоматическая переменная $PSVersionTable хранит версию PowerShell. 4 Она создаётся каждый сеанс, и её нельзя изменить или создать заново. 4
Таким образом, директива #Requires фокусируется на обеспечении необходимых условий для запуска скрипта, а переменная $PSVersionTable — на хранении версии PowerShell.