Function 无法执行powershell脚本。电子邮件是脚本中的函数名。执行脚本时,出现以下错误:

Function 无法执行powershell脚本。电子邮件是脚本中的函数名。执行脚本时,出现以下错误:,function,powershell,Function,Powershell,$SMTPPort=“25” 发送邮件-从$From-到$to-Cc$Cc-Subject$MailSubject-Body$Body-BodyAsHtml-SmtpServer$SmtpServer-Port$SMTPPort }可能在另一台服务器中,该功能存储在powershell配置文件或某个源点中。 请确保将函数文本粘贴到PowerShell会话中,或者在调用它之前执行它。您还可以将函数保存在.ps1文件中,然后点源。有关的详细信息这是我得到的异常:异常:System.Managemen

$SMTPPort=“25” 发送邮件-从$From-到$to-Cc$Cc-Subject$MailSubject-Body$Body-BodyAsHtml-SmtpServer$SmtpServer-Port$SMTPPort
}

可能在另一台服务器中,该功能存储在powershell配置文件或某个源点中。
请确保将函数文本粘贴到PowerShell会话中,或者在调用它之前执行它。您还可以将函数保存在.ps1文件中,然后点源。有关

的详细信息这是我得到的异常:异常:System.Management.Automation.CommandNotFoundException:术语“发送电子邮件”无法识别为cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。在System.Management.Automation.ExceptionHandlingOps.CheckActionPreference(FunctionContext funcContext,Exception Exception)的System.Management.Automation.解释器.ActionCallInstruction`2.Run(解释器框架)在出现错误时,错误消息表示您正在执行的脚本正在尝试调用名为
send\u email
的函数或cmdlet。您是否正在使用另一个脚本执行此操作,而该脚本应该尝试调用此函数
Email
?抱歉,我更新了代码。我实际上只在发送电子邮件功能上出错。我从脚本中调用此函数。我正在将3个参数status、subject和body传递给此send_email函数。脚本在其中一台服务器上正常工作,但在我要运行此脚本的服务器上不工作。您报告的错误表明cmdlet/function
send_email
不存在。从中调用此函数的脚本是否在此函数中位于不同的
.ps1
文件中?如果是这样,在调用函数之前,您需要先执行此文件,或者在另一个文件中包含此文件的内容。谢谢大家的建议。我只是把函数定义放在函数调用的顶部,然后它就开始工作了。看起来应该在调用之前先定义。是的,在调用函数之前必须定义函数(即必须执行函数代码),否则它将保持未定义状态。
        function send_email
             {  
                param([string]$status, [string]$subject, [string]$Mailbody)
    $sysDate=(Get-Date).ToString('MM/dd/yyyy')
    $From = "gampa_rajesh@XXX"
    $To = "gampa_rajesh@XXX"
    $Cc = "gampa_rajesh@XXX"
    $MailSubject = $subject+" "+$status+"_"+$sysDate
    $Body = "Hi All,"
    $SMTPServer = "XXX.XXX.XXX"