我有有一個GUI用戶界面的PowerShell的應用和我的目標是要登錄我發佈適用於所有用戶的活動,在一箇中心位置。輸出文件升高證書錯誤:設備未準備好
此外,這必須是安全的,所以像「給大家寫訪問日誌文件」不會是一個可接受的解決方案。
我相信我已經成功地完成運行PowerShell中以其他用戶身份,但我的函數休息時候,它會耗盡文件或>>命令。
這是我迄今
function Start-ElevatedCode
{
param([ScriptBlock]$Code)
Start-Process -Credential $logCred -FilePath C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -WorkingDirectory \\Server\d$ -ArgumentList $code
Start-Process -FilePath C:\Windows\System32\cmd.exe -Credential $logCred
Start-Process $PSHOME\powershell.exe -ArgumentList "-NoExit","-Command `"&{`"`this is output string`' >> `'D:\Pojo Super User\Change.txt`'`"}`"" -Wait
}
試過很顯然,我並不需要所有這三個,但只是一個我可以開始工作。第一行是我真正需要的工作,另外兩個只是爲了測試/例子。分別
輸出這三個命令:
Out-file : The device is not ready.
Start-Process : This command cannot be executed due to the error: The directory name is invalid.
The device is not ready.
的$代碼變種,我傳遞的是:
$code = {$logString | Out-File -FilePath 'D:\LogPath\Change.txt'}
PowerShell的V2及以下,CMD命令只請。這必須適用於所有系統。
人有正在生成此通用系統錯誤信息,爲什麼一個想法?
在cmd net helpmsg 21
感謝安斯加爾,該解決方案將很遺憾不能爲我工作,我不認爲。雖然我知道這個應用程序只能在網絡中運行,但我並不擁有管理員的權限,它可以運行在所有的計算機上。 – Cole9350
然後我建議你或者聯繫那些擁有集中採伐的想法的人,或者放棄集中採伐的想法。你如何認爲你會處理對你的文件的併發寫入訪問? –
預防:這是真的只是一個簡單的過程管理器應用程序,除了調整監督我們的java.exe進程(並涉及相應的應用處理)。在任何Activity.log條目之前,一個進程被終止。因此,如果2個用戶同時嘗試殺死同一個應用程序,則會引發錯誤。錯誤沒有被記錄的那個。聽起來很容易,儘管我不能說我已經徹底地測試過了。 – Cole9350