PowerShell Write-EventLog CmdLet 手动工作,而不是在脚本中
PowerShell Write-EventLog CmdLet works manually, not in script
我正在编写一个 PowerShell 脚本来禁用和移动 AD 中的用户。这部分效果很好。但是我想在事件日志中记录每个事件。 cmdlet Write-EventLog
在手动输入时工作正常。
Write-EventLog –LogName ManageAD –Source “ManageUsers Script” –EntryType Information –EventID 1 –Message “This is a test message"
但是,当我将 cmdlet 添加到脚本时出错。
Write-EventLog –LogName ManageAD –Source “ManageUsers Script” –EntryType Information –EventID 1 –Message “User ” + $SAM + " has been disabled"
Write-EventLog : A positional parameter cannot be found that accepts argument 'Scriptâ??'.
At C:\test\ManageUsers.ps1:12 char:16
+ Write-EventLog <<<< â?"LogName ManageAD â?"Source â?oManageUsers Scriptâ?? â?"EntryType Information â?"EventID
â?"Message â?oUser â?? + $SAM + " has been disabled"
+ CategoryInfo : InvalidArgument: (:) [Write-EventLog], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.WriteEventLogCommand
如有任何建议,我们将不胜感激。
想简单回答一下,您的代码中有智能引号。这些来自您最初复制该代码的地方或您的测试环境的产品。无论哪种方式,您都需要提防那些窃听者。
Write-EventLog –LogName ManageAD –Source “ManageUsers Script” –EntryType Information –EventID 1 –Message “User ” + $SAM + " has been disabled"
应该是。
Write-EventLog –LogName ManageAD –Source "ManageUsers Script" –EntryType Information –EventID 1 –Message "User " + $SAM + " has been disabled"
我想从错误中指出,我还看到了其他工件...
â?"LogName ManageAD â?"
这让我想知道连字符是否像 em-dash 一样长(回到之前关于您的编辑器选择的问题!)。
请查看连字符和 2 个破折号 - - - 之间的细微差别。也有破折号反对基本的连字符。右边的是连字符。
代码可能在 ISE 内部运行,而您是 运行 常规控制台中的脚本?
我正在编写一个 PowerShell 脚本来禁用和移动 AD 中的用户。这部分效果很好。但是我想在事件日志中记录每个事件。 cmdlet Write-EventLog
在手动输入时工作正常。
Write-EventLog –LogName ManageAD –Source “ManageUsers Script” –EntryType Information –EventID 1 –Message “This is a test message"
但是,当我将 cmdlet 添加到脚本时出错。
Write-EventLog –LogName ManageAD –Source “ManageUsers Script” –EntryType Information –EventID 1 –Message “User ” + $SAM + " has been disabled"
Write-EventLog : A positional parameter cannot be found that accepts argument 'Scriptâ??'.
At C:\test\ManageUsers.ps1:12 char:16
+ Write-EventLog <<<< â?"LogName ManageAD â?"Source â?oManageUsers Scriptâ?? â?"EntryType Information â?"EventID
â?"Message â?oUser â?? + $SAM + " has been disabled"
+ CategoryInfo : InvalidArgument: (:) [Write-EventLog], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.WriteEventLogCommand
如有任何建议,我们将不胜感激。
想简单回答一下,您的代码中有智能引号。这些来自您最初复制该代码的地方或您的测试环境的产品。无论哪种方式,您都需要提防那些窃听者。
Write-EventLog –LogName ManageAD –Source “ManageUsers Script” –EntryType Information –EventID 1 –Message “User ” + $SAM + " has been disabled"
应该是。
Write-EventLog –LogName ManageAD –Source "ManageUsers Script" –EntryType Information –EventID 1 –Message "User " + $SAM + " has been disabled"
我想从错误中指出,我还看到了其他工件...
â?"LogName ManageAD â?"
这让我想知道连字符是否像 em-dash 一样长(回到之前关于您的编辑器选择的问题!)。
请查看连字符和 2 个破折号 - - - 之间的细微差别。也有破折号反对基本的连字符。右边的是连字符。
代码可能在 ISE 内部运行,而您是 运行 常规控制台中的脚本?