Befreien Sie sich PS C:>
vorher von der Eingabeaufforderung ( ) Rename-Computer
. Sie müssen immer noch den Variablennamen (von myname in name ) ändern, den Sie haben, $myname = read-host "Please enter your name:"
damit er liest $name = read-host "Please enter your name:"
und mit dem übereinstimmt, was Sie als Variablennamen in Ihrem Aufruf der Funktion haben Rename-Computer -NewName $name -DomainCredential $credential
.
Aufforderung, eine Benutzereingabe für einen Powershell-Befehl zu verwenden?
974
Ruther Melchor
Ich versuche den folgenden Code auszuführen und er funktioniert:
PS C:\> Rename-Computer -NewName TEST -DomainCredential okadamanila\itservices
Da der Hostname in der PS1-Datei angegeben ist, möchte ich den Benutzer jedoch um Eingabe bitten, um den Hostnamen zu ersetzen. Ich habe versucht, den folgenden Codeblock zu verwenden:
$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"
Wo die Eingabe des Benutzers der Hostname wäre, der für die Funktion "Computer umbenennen" verwendet wird, ist dies möglich?
BEARBEITEN:
Der obige Codeblock scheint zu funktionieren, aber ich stoße auf das folgende Problem:
Was genau läuft falsch? Wenn ich folgendes mache: $ var = read-host "Frage:" `gefolgt von" $ var "bekomme ich in $ var das, was ich bei der Frage eingegeben habe.
LPChip vor 7 Jahren
1
Wenn Sie eine dedizierte Funktion zum Abrufen des Benutzernamens haben ([`Get-UserName` wäre übrigens die richtige Nomenklatur)] (https://msdn.microsoft.com/de-de/library/ms714428 (v = vs. 85) .aspx)), warum sollten Sie den `Read-Host` in einen` param () `- Block einfügen? Ich mache einfach 'while ($ true) { else } `
flolilolilo vor 7 Jahren
0
Wenn Sie den `param ()` - Block verwenden möchten, damit Sie die Funktion und den name-parameter aufrufen können, damit keine Aufforderung erfolgt, dann würde ich vorschlagen, dass Sie `.Length` von` $ name` als `testen -name "" ist eine gültige Zeichenfolge, die keinen Namen enthält. Also `function Get-UserName () else } `_Ost es einen offensichtlichen Punkt, den ich nicht sehe? _
flolilolilo vor 7 Jahren
0
1 Antwort auf die Frage
0
stevlars
Verwandte Probleme
-
6
Welche zsh-Funktionen verwenden Sie?
-
5
Transparente Eingabeaufforderung in Vista?
-
4
Verwenden Sie den Windows-Aktenkoffer von der Befehlszeile aus
-
4
Warum sind einige Befehle nicht vorhanden?
-
11
Gibt es eine einfache Möglichkeit, MP3-Dateien zu teilen?
-
2
Wie kann ich OSX Terminal.app dazu bringen, den Vollbildmodus zu öffnen und nicht zu kaskadieren?
-
4
Remote-Ordner unter Linux synchronisieren
-
6
Vollbild-Vista-Eingabeaufforderung oder Ersatz
-
6
Guter PowerShell-Leitfaden, der durch fortgeschrittene Verwendung Einstieg leistet
-
3
Planen Sie einen Job von der Windows-Befehlszeile aus?