从命令行运行PowerShell ISE?

时间:2014-07-19 01:26:33

标签: powershell powershell-ise

所以当我从PowerShell ISE运行它时,我的脚本运行正常。但是,我需要自动化它,所以我运行powershell.exe .\script.ps1,但是我得到一些未被识别的命令的错误(它们来自非标准模块)。

感谢任何帮助,谢谢!

2 个答案:

答案 0 :(得分:4)

编辑脚本的开头以导入所有依赖项(模块)。这是一个很好的做法,因为它使代码更具可读性,适用于PS 2.0和3.0 +

script.ps1

#Import example module
Import-Module ActiveDirectory

#Script start
$name = Read-Host "Username"
$user = Get-ADUser $name
.....

答案 1 :(得分:3)

一个原因应该是脚本来源或从您的配置文件脚本加载模块。在这种情况下,您的问题可能来自以下事实:从命令行启动PowerShell并启动PowerShell ISE不会使用系统相同的配置文件脚本。查看每个$Profile var并编辑相关文件。

我的ISE上的

$Profile

C:\Users\JPB\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
我的命令行

$Profile

C:\Users\JPB\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

有关个人资料的详情。About_Profile

了解所有$Profile路径的方法: enter image description here