Я создаю небольшой скрипт для приема идентификатора пользователя, имени, фамилии, а затем добавления этих данных в хэш-таблицу. Проблема, которую я имею, - это когда я показываю свою хэш-таблицу, говоря, что значением пользователя является System.Object. Что я делаю не так?Powershell Hashtable Issue
$personHash = @{}
$userID=""
$firstname=""
$lastname=""
While([string]::IsNullOrWhiteSpace($userID))
{
$userID = Read-Host "Enter ID"
}
While([string]::IsNullOrWhiteSpace($firstname))
{
$firstname = Read-Host "Enter First Name"
}
While([string]::IsNullOrWhiteSpace($lastname))
{
$lastname = Read-Host "Enter Last Name"
}
$user = New-Object System.Object
$user | Add-Member -type NoteProperty -Name ID -value $userID
$user | Add-Member -type NoteProperty -Name First -value $firstname
$user | Add-Member -type NoteProperty -Name Last -Value $lastname
$personHash.Add($user.ID,$user)
$personHash
Вы создаете '$ user' как' System.Object'. Что вы ожидаете? –
Попробуйте '$ personHash [$ user.ID]' или '$ personHash ['NameYouEntered']'. Вы видите 'System.Object', потому что хэш-таблица содержит объект этого типа в качестве значения для этой записи. Это заполнитель, который говорит: «Здесь есть объект, но он слишком сложный для отображения». –
@BaconBits - Как я могу исправить этого пользователя, чтобы показать свой объект пользователя правильно? –