I could not get the solutions above to work with all modules (I am using Powershell 4.0). This is the solution I used, and so far it has worked with every module I use:
At the top of my script file, I have this to make -Verbose work for the script (the script has no parameters):
[CmdletBinding()] Param()
Then, when I am ready to import the modules, I do this:
$SaveVerbosePreference = $global:VerbosePreference; $global:VerbosePreference = 'SilentlyContinue'; Import-module "Whatever"; $global:VerbosePreference = $SaveVerbosePreference;
Then I just call the script like this:
PowerShell -file something.ps1 -Verbose
source share