Просмотрите Расширения сообщества PowerShell .Он поставляется с командой для вызова командного файла, «запоминания» того, что он установил, и внесения их в ваш сеанс PowerShell.Фактически, мой профиль делает именно это с переменными VS, например:
Import-Module Pscx
function Import-VS9Vars
{
$vcargs = ?: {$Pscx:Is64BitProcess} {'amd64'} {'x86'}
Push-EnvironmentBlock -Description "Before importing VS 2008 $vcargs var"
Invoke-BatchFile "${env:VS90COMNTOOLS}..\..\VC\vcvarsall.bat" $vcargs
}
function Import-VS10Vars
{
$vcargs = ?: {$Pscx:Is64BitProcess} {'amd64'} {'x86'}
Push-EnvironmentBlock -Description "Before importing VS 2010 $vcargs vars"
Invoke-BatchFile "${env:VS100COMNTOOLS}..\..\VC\vcvarsall.bat" $vcargs
}
Import-VS10Vars
Важной командой является Invoke-BatchFile.Источник этой функции находится в загрузке, поэтому, если вы не хотите использовать весь модуль, вы можете скопировать только одну эту функцию, если хотите.