How to log multiple invoke-sqlcmd verbose outputs into single log file along with showing/not showing them through flag into prowershell prompt
For 1, you can use PowerShell redirection operators. As per Redirectable output streams, steam 4 is Verbose Stream which is what you want.

invoke-sqlcmd .... -verbose 4&gt;&gt; &quot;D:\temp\yourlogfile.log&quot;

Above will append all your invoke-sqlcmd into just one log file &quot;D:\temp\yourlogfile.log&quot;
your question part 2 is unclear to me.