我正在尝试创建一个脚本,提示用户输入他们的计算机名,然后在Get-EventLog
行中使用该信息。我是PowerShell的新手,我使用批处理脚本来做,但我不知道如何在这里做。
这是我到目前为止所做的:
$name1 = Read-Host 'Enter name'
cls
Get-EventLog system -computername COMPUTERNAMEHERE -InstanceId 2147489657 -Newest 5 | ft EventID,TimeWritten,MachineName -AutoSize
Pause
另外......如何通过双击它来实现此操作,就像使用批处理脚本一样?
答案 0 :(得分:1)
并没有真正回答你的第一个问题,因为你似乎已经覆盖了这个问题,关于你得到的关于禁用脚本的错误:默认情况下,微软关闭了一个主要的攻击向量,它出现在以前的所有脚本尝试中:任意执行代码。您需要查看Execution Policies以了解更多信息,但基本上,开箱即用,PowerShell只允许从命令主机逐行执行。
@jscott是对的,PowerShell exe的-ExecutionPolicy Bypass
参数对你有用,但如果你在整个地方使用它,我建议你理解绕过执行策略的含义。
我最喜欢的受信任计算机策略是RemoteSigned
策略。它为您提供了一种针对任意执行的安全措施(任何源自您机器的脚本都需要由受信任的证书进行加密签名),并且仍允许您运行脚本。