Избавьтесь от подсказки ( PS C:>
) раньше Rename-Computer
. Вам все еще нужно изменить имя переменной (с myname на name ), в котором вы находитесь, $myname = read-host "Please enter your name:"
чтобы оно считывало $name = read-host "Please enter your name:"
и совпадало с тем, что вы имеете в качестве имени переменной при вызове функции Rename-Computer -NewName $name -DomainCredential $credential
).
Предлагать пользовательский ввод для использования в команде Powershell?
791
Ruther Melchor
Я пытаюсь выполнить код ниже, и он работает:
PS C:\> Rename-Computer -NewName TEST -DomainCredential okadamanila\itservices
Учитывая, что имя хоста указано в файле PS1, я хотел бы попросить или предложить пользователю ввести данные для замены имени хоста; Я попытался с помощью блока кода ниже:
$hostname = read-host "Please enter your name" Write-Host "YOUR PREFERRED HOSTNAME IS $hostname - INITIALIZING HOSTNAME CHANGE" $credential = Get-Credential PS C:\> Rename-Computer -NewName $name -DomainCredential $credential Read-Host -Prompt "Press Enter to exit"
Где ввод от пользователя будет именем хоста, которое будет использоваться в функции Rename-Computer, это возможно?
РЕДАКТИРОВАТЬ:
Блок кода выше, кажется, работает, но я столкнулся с проблемой ниже:
Что именно идет не так? Если я это сделаю: `$ var = read-host" Question: "` с последующим `$ var`, я получу внутри $ var то, что я ввел в вопросе.
LPChip 6 лет назад
1
Если у вас есть специальная функция для получения имени пользователя (кстати, [`Get-UserName` будет правильной номенклатурой] (https://msdn.microsoft.com/en-us/library/ms714428 (v = vs. 85) .aspx)), зачем помещать `Read-Host` в` param () `-блок? Я просто сделал бы `while ($ true) {[string] $ name = Read-Host" Введите имя пользователя "; if ($ name.Length -gt 0) else } `
flolilolilo 6 лет назад
0
Если вы хотите использовать `param ()` -блок, чтобы вы могли вызывать функцию и параметр name, чтобы он не запрашивал, то я бы посоветовал вам протестировать `.Length`` $ name`, как ` -name "" `является допустимой строкой, которая не содержит никакого имени. Так `function Get-UserName () else } `_ Или есть очевидный момент, которого я не вижу? _
flolilolilo 6 лет назад
0
1 ответ на вопрос
0
stevlars
Похожие вопросы
-
2
.profile в Mac OS X?
-
6
Какие функции Zsh вы используете?
-
5
Прозрачная командная строка в Vista?
-
-
4
Используйте портфель Windows из командной строки
-
4
Почему некоторые команды не существуют?
-
11
Есть ли простой способ разделить mp3 файлы?
-
2
Как я могу получить OSX Terminal.app для открытия полноэкранного режима, а не каскадного?
-
4
Синхронизация удаленных папок в Linux
-
6
Полноэкранная командная строка или замена Vista
-
6
Хорошее руководство по PowerShell, начало работы с более продвинутым использованием