我有一个ps1脚本,在其中我定义了2个函数:
function Invoke-Sql([string]$query) { Invoke-Sqlcmd -ServerInstance $Server -Database $DB -User $User -Password $Password -Query $query } function Get-Queued { Invoke-Sql "Select * From Comment where AwaitsModeration = 1" }
然后我通过键入它(它在path中的文件夹中,并自动完成工作)调用ps1文件
但是,我无法开始使用这些function。 我很困惑,因为当我复制/粘贴到控制台的function,一切都很好,他们的工作。 我也有一个在我的个人资料中定义的function,它的工作原理。 我在哪里想错了,为什么它不工作我想要做的?
为了使function可用,您需要“点源”脚本。 “Dot Sourcing”运行当前范围内的脚本。
要“点源”一个脚本,你把一段时间,然后一个空间,然后完整或相对path的脚本。
例如
. ./myscript.ps1
看看这个post关于从命令行运行PowerShell脚本。