询问并使用用户输入

时间:2013-11-22 00:02:11

标签: powershell input

我正在尝试创建一个脚本,提示用户输入他们的计算机名,然后在Get-EventLog行中使用该信息。我是PowerShell的新手,我使用批处理脚本来做,但我不知道如何在这里做。

这是我到目前为止所做的:

$name1 = Read-Host 'Enter name'
cls
Get-EventLog system -computername COMPUTERNAMEHERE -InstanceId 2147489657 -Newest 5 | ft EventID,TimeWritten,MachineName -AutoSize
Pause

另外......如何通过双击它来实现此操作,就像使用批处理脚本一样?

1 个答案:

答案 0 :(得分:1)

并没有真正回答你的第一个问题,因为你似乎已经覆盖了这个问题,关于你得到的关于禁用脚本的错误:默认情况下,微软关闭了一个主要的攻击向量,它出现在以前的所有脚本尝试中:任意执行代码。您需要查看Execution Policies以了解更多信息,但基本上,开箱即用,PowerShell只允许从命令主机逐行执行。

@jscott是对的,PowerShell exe的-ExecutionPolicy Bypass参数对你有用,但如果你在整个地方使用它,我建议你理解绕过执行策略的含义。

我最喜欢的受信任计算机策略是RemoteSigned策略。它为您提供了一种针对任意执行的安全措施(任何源自您机器的脚本都需要由受信任的证书进行加密签名),并且仍允许您运行脚本。