2013-11-22 4 views
1

Я пытаюсь создать скрипт, который будет запрашивать у пользователя имя своего компьютера, а затем использовать эту информацию в строке Get-EventLog. Я новичок в powershell, и я использую это с помощью пакетных скриптов, но я не уверен, как это сделать здесь.Запрашивать и использовать ввод пользователя

Это то, что я до сих пор:

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

Кроме того ... как бы я сделать это запустить, дважды щелкнув по нему, как вы бы с пакетного сценария?

+3

Возможно, я что-то не понимаю ... вы просто спрашиваете, как использовать значение, которое вы читаете, в ** $ name1 ** в качестве аргумента в ** - имя_компьютера ** paramater? Просто замените «COMPUTERNAMEHERE» переменной, ** $ name1 **. –

+0

Смотрите это [сообщение] (http://stackoverflow.com/questions/10137146/is-there-any-way-to-make-powershell-script-work-by-double-clicking-ps1-file) щелчок и powershell. – David

+0

Это все, что вы делаете? Теперь я чувствую себя глупым. – Aaron

ответ

1

Не совсем ответив на ваш первый вопрос, как вы, кажется, накрыли, Что касается ошибки, которую вы получаете об отключенных сценариях: по умолчанию и дизайн Microsoft закрыл большой вектор атаки, который присутствовал во всех предыдущих попытках создания скриптов: произвольное выполнение кода. Вам нужно будет изучить Execution Policies, чтобы узнать больше, но в основном, из коробки PowerShell разрешает только линейное выполнение с хоста команд.

@jscott прав, что параметр -ExecutionPolicy Bypass для PowerShell exe будет работать на вас, но я бы рекомендовал вам понять последствия политики выполнения обхода, если вы используете это по всему месту.

Моя любимая политика для доверенных машин - политика RemoteSigned. Это дает вам гарантию безопасности от произвольного исполнения (любой скрипт, не созданный на вашем компьютере, должен быть криптографически подписан доверенным сертификатом) и по-прежнему позволяет запускать скрипты.

+0

Но есть что-то, что я могу запустить только для этого скрипта, который позволит ему работать, пока он работает, и это? – Aaron

+0

Да, что @jscott сказал в комментарии будет работать –

+0

Да, я делаю это спасибо. – Aaron

Смежные вопросы