나는 아래 코드를 실행하려고 노력 중이며 작동 중이다.
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 기능에 사용될 호스트 이름 인 경우이 방법이 가능합니까?
편집하다:
위의 코드 블록이 작동하는 것 같지만 아직 아래 문제가 발생합니다.
사용자 이름을 얻기위한 전용 기능이있는 경우 (
—
flolilolilo
Get-UserName
그런데 올바른 명칭이 될 것입니다. ), 왜 당신은 Read-Host
~로 param()
-블록? 나는 단순히하고 싶다. while($true){[string]$name = Read-Host "Enter a user-name"; if($name.Length -gt 0){break}else{Write-Out "You have to enter a name!"}}
당신이
—
flolilolilo
param()
-block 함수와 name-parameter를 호출 할 수 있도록 프롬프트를 표시하지 않으면, .Length
의 $name
, 같이 -name ""
이름을 포함하지 않는 유효한 문자열입니다. 그래서 function Get-UserName(){param([string]$name); while($true){if($name.Length -eq 0){$name = Read-Host "enter a user-name"}else{Write-Out "You entered $name"; break}}
아니면 내가 볼 수없는 지점이 있습니까?
$var = read-host "Question: "
뒤이어$var
나는 질문에 입력 한 $ var 안에 들어간다.