Is it possible to set a set a Vault Online/Offline via PowerShell?
Sure. You can use methods on the ServerVaultManagementOperations interface to take a vault offline and bring it back online: M-Files API - ServerVaultManagementOperations Object
This is used from PowerShell…
Yes. These block.
The MFilesServerApplication class has a GetVaults method that you could use to get information about the vaults: M-Files API - MFilesServerApplication Object