修改後的描述:計劃的Powershell任務不能與瀏覽器交互
使用下面的建議,我使用了我可以創建的最基本的代碼。請注意,我將Powershell社區擴展與下面的「啓動過程」一起使用。我不知道這是否會影響事情。
我有以下功能
function Populate-Notepad
{
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic')
Start-Process Notepad
[Microsoft.VisualBasic.Interaction]::AppActivate("Untitled")
[System.Windows.Forms.SendKeys]::SendWait("blahblahblah")
return
}
工作正常交互。
我有一個叫Parse的函數,它查詢一個POP帳號,如果找到了一個消息 - 執行一個動作。有問題的行爲是這樣($幫助文件的定義,它工作正常 - 這是被正確解析)
Switch ($cmd)
{
"HELP" {$text = $helptext}
"NOTE" {populate-notepad}
default {$msg = $msg + "Invalid command: $command `n"}
}
這並不不火記事本。如果我看任務管理器,它永遠不會出現填充。我的猜測是,如果這可以解決 - 下面的問題也可以解決。
我有調用Firefox和火的火狐一堆的SendKeys的(這是一個很長的故事,但試圖利用網絡invokation是有問題的。)它的工作原理交互很好,但PowerShell腳本當計劃任務運行一個PowerShell腳本,調用上面的PowerShell腳本...
Firefox運行...但它不是交互式的(所以PowerShell正在運行,腳本正在觸發。)換句話說,我從來沒有看到一個Firefox窗口。我不確定這是否重要,但我的任務管理器窗口中總是有一個firefox.exe。但是,我的腳本總是掛起,抱怨它無法找到Firefox窗口。
就像我說的,這是交互式工作;它通過任務管理器使用與常規交互式腳本相同的憑據(在此框中,除管理員以外,只有1個用戶);它不是隱藏的,我試過它作爲「以最高權限運行」而無濟於事。
有什麼想法?
請編輯您的問題,並添加通過調用Firefox中的命令。同時檢查事件日誌或Firefox可能導致錯誤的任何其他日誌。最後,例如,對'notepad.exe'嘗試相同的操作。 –