AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 675793
Accepted
silent
silent
Asked: 2015-03-17 03:23:55 +0800 CST2015-03-17 03:23:55 +0800 CST 2015-03-17 03:23:55 +0800 CST

PowerShell 脚本在 Windows 事件日志中生成大量警告

  • 772

我有一个在 Windows Server 2008 R2 上运行的相当复杂的 PowerShell 脚本。在 ISE 或控制台中执行脚本时,一切正常。没有错误或任何其他会脱颖而出的东西。

但是,在 Windows 事件查看器中,正在生成许多警告,而我可以看到没有任何具体原因。

Log Name: Microsoft-Windows-PowerShell/Operational

Source: PowerShell (Microsoft-Windows-PowerShell)

Event ID: 4100

Task Category: Executing Pipeline

    Error Message = System error.
    Context:
    Severity = Warning
    Host Name = Windows PowerShell ISE Host
    Host Version = 4.0
    Host ID = cec010f3-ea0f-44b0-8d2e-449a6c1eb3e6
    Engine Version = 4.0
    Runspace ID = b2e8d39c-4fa1-4a3f-b33e-b42f8b552c3d
    Pipeline ID = 17
    Command Name = 
    Command Type = 
    Script Name = 
    Command Path = 
    Sequence Number = 92
    User = [the executing user]
    Shell ID = Microsoft.PowerShell


    User Data:

谷歌没有透露任何内容。有谁知道这可能意味着什么?正如我所说,这些条目有数百个。让我知道我是否应该发布更多内容。

非常感谢!

编辑:根据要求整个事件 XML

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-PowerShell" Guid="{A0C1853B-5C40-4B15-8766-3CF1C58F985A}" /> 
<EventID>4100</EventID> 
<Version>1</Version> 
<Level>3</Level> 
<Task>106</Task> 
<Opcode>19</Opcode> 
<Keywords>0x0</Keywords> 
<TimeCreated SystemTime="2015-03-16T14:06:07.066866300Z" /> 
<EventRecordID>1994921</EventRecordID> 
<Correlation ActivityID="{01EC0C48-F800-0001-6B28-234CAE5DD001}" /> 
<Execution ProcessID="6528" ThreadID="5376" /> 
<Channel>Microsoft-Windows-PowerShell/Operational</Channel> 
<Computer>[host]</Computer> 
<Security UserID="S-1-5-21-1482476501-1450960922-725345543-2410959" /> 
</System>
<EventData>
  <Data Name="ContextInfo">Severity = Warning Host Name = Windows PowerShell ISE Host Host Version = 4.0 Host ID = cec010f3-ea0f-44b0-8d2e-449a6c1eb3e6 Engine Version = 4.0 Runspace ID = b2e8d39c-4fa1-4a3f-b33e-b42f8b552c3d Pipeline ID = 36 Command Name = Command Type = Script Name = Command Path = Sequence Number = 7665 User = [user name] Shell ID = Microsoft.PowerShell</Data> 
  <Data Name="UserData" /> 
  <Data Name="Payload">Error Message = System error.</Data> 
</EventData>
</Event>

添加PS D:\Autonomy\cd_provisioning_client> ($PsVersionTable)

Name                           Value                                                                                                                                                                                                  
----                           -----                                                                                                                                                                                                  
PSVersion                      4.0                                                                                                                                                                                                    
WSManStackVersion              3.0                                                                                                                                                                                                    
SerializationVersion           1.1.0.1                                                                                                                                                                                                
CLRVersion                     4.0.30319.34209                                                                                                                                                                                        
BuildVersion                   6.3.9600.16406                                                                                                                                                                                         
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}                                                                                                                                                                                   
PSRemotingProtocolVersion      2.2   

powershell_ise.exe.config

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" />    
</startup> 
</configuration>
windows-server-2008-r2
  • 1 1 个回答
  • 6662 Views

1 个回答

  • Voted
  1. Best Answer
    beatcracker
    2015-03-17T04:26:16+08:002015-03-17T04:26:16+08:00

    在 ISE 或控制台中执行脚本时,一切正常。没有错误或任何其他会脱颖而出的东西。

    运行良好并不意味着没有遇到错误。您的脚本可能只是忽略它们,使用-ErrorAction SilentlyContinue带有 cmdlet 的参数。例子:

    Get-ChildItem -LiteralPath ZZZ:\
    

    这将产生所谓的终止错误并停止当前管道,但由于ErrorActionPreference变量默认设置为Continue,脚本本身将继续执行。而且,如您所见,PowerShell 主机会将此错误记录到事件日志中。

    如果您想调试脚本并查找导致此日志记录的错误,请在脚本开头设置$ErrorActionPreference为并运行它。Stop第一个遇到的错误将停止脚本执行,然后您可以像这样查看错误详细信息$Error[0]。

    更新:我不知所措,因为我们尝试的一切都没有带来实质性的结果:

    • $Error变量为空
    • Set-StrictMode -Version Latest什么都没抓到
    • $PsVersionTable在我看来powershell_ise.config很好

    这里发生的事情绝对很奇怪,我不相信那些空字段是正常的:

    Command Name = 
    Command Type = 
    Script Name = 
    Command Path = 
    

    虽然我还有一些想法可以尝试,但它们需要更深入的研究:

    • 检查您的脚本是否有任何非 PowerShell 对象\方法(第三方程序集、COM 对象等)并尝试将它们注释掉。
    • 尝试使用Process Monitor监控 PowerShell 进程

    祝你好运!

    • 1

相关问题

  • Server 2008 R2 架构更改 - 自 RC 以来是否有任何更改?

  • 是否可以在 Server 2008 R2 Core Install 中安装 servermanagercmd?

  • 视窗 2008 R2 WDS

  • 从命令行备份 Windows 2008 R2 到网络共享 - 隐藏分区问题

  • 在 Windows Server 2008 上移动和更改 Pagefile.sys 大小

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve