Запустите функцию powershell в новом окне из службы windows - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть следующая функция:

Function Email{
param ($to, $Subject, $Body, $Attachment)
$Outlook = New-Object -Com Outlook.Application
$Mail = $Outlook.CreateItem(0)
$Mail.To = $To
$Mail.Subject = $Subject
$Mail.Body = $Body
$Mail.Attachments.Add($Attachment)
$Mail.Send()
}

Она отлично работает в тестах в ISE, но из другого скрипта, работающего как служба, не работает. Так что в этом родительском скрипте я пытаюсь запустить его в новом экземпляре powershell, чтобы посмотреть, будет ли он там работать, но, похоже, нет. Внутри родительского скрипта у меня есть:

    Import-Module C:\...\Email.ps1
    $to = Myemail
    $Subject = "Test"
    $Result = $Result[0].FullName 
    $Body = (-join("'",$Result,"'"))
    write-host $to $Subject $Body $Result #test to make sure params are visible, test successful

    $Command = Email $to $Subject $Body $Result

    Start-Process powershell -ArgumentList "-WindowStyle Maximized -command invoke-command -scriptblock {$command} -argumentlist $to $Subject $Body $Result"

Однако он по-прежнему не работает в службе. Это из-за ошибки с моей стороны?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...