|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Powershell и CLM |
|
PowerShell - [решено] Powershell и CLM
|
Пользователь Сообщения: 60 |
Профиль | Отправить PM | Цитировать Здравствуйте.
Необходимо в скрипте хранить таблицу, например Name OSBits FileName ---- ------ -------- Microsoft Visual C++ 2005 Redistributable x86 vcredist_x86_2005.exe Microsoft Visual C++ 2005 Redistributable (x64) x64 vcredist_x64_2005.exe Microsoft Visual C++ 2013 Redistributable (x64) x64 vcredist_x64_2013.exe Microsoft Visual C++ 2013 Redistributable (x86) x86 vcredist_x86_2013.exe Microsoft Visual C++ 2017 Redistributable (x64) x64 vcredist_x64_2017.exe Microsoft Visual C++ 2017 Redistributable (x86) x86 vcredist_x86_2017.exe $array = @() $array += [PSCustomObject]@{Name='Microsoft Visual C++ 2005 Redistributable'; OSBits='x86'; FileName='vcredist_x86_2005.exe'} $array += [PSCustomObject]@{Name='Microsoft Visual C++ 2005 Redistributable (x64)'; OSBits='x64'; FileName='vcredist_x64_2005.exe'} $array += [PSCustomObject]@{Name='Microsoft Visual C++ 2013 Redistributable (x64)'; OSBits='x64'; FileName='vcredist_x64_2013.exe'} $array += [PSCustomObject]@{Name='Microsoft Visual C++ 2013 Redistributable (x86)'; OSBits='x86'; FileName='vcredist_x86_2013.exe'} $array += [PSCustomObject]@{Name='Microsoft Visual C++ 2017 Redistributable (x64)'; OSBits='x64'; FileName='vcredist_x64_2017.exe'} $array += [PSCustomObject]@{Name='Microsoft Visual C++ 2017 Redistributable (x86)'; OSBits='x86'; FileName='vcredist_x86_2017.exe'} И при заполнении массива получаю ошибку: PS C:\> $array = @() PS C:\> $array += [PSCustomObject]@{Name='Microsoft Visual C++ 2005 Redistributable'; OSBits='x86'; FileName='vcredist_x86_2005.exe'} Не удается преобразовать значение в тип "System.Management.Automation.LanguagePrimitives+InternalPSCustomObject". В этом языковом режиме поддерживаются только основные типы. строка:1 знак:1 + $array += [PSCustomObject]@{Name='Microsoft Visual C++ 2005 Redistrib ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [], RuntimeException + FullyQualifiedErrorId : ConversionSupportedOnlyToCoreTypes Прошу совета. |
|
Отправлено: 09:26, 15-11-2018 |
Старожил Сообщения: 245
|
Профиль | Отправить PM | Цитировать @densan
а просто хеши не пробовали ? |
Отправлено: 09:37, 15-11-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 09:47, 15-11-2018 | #3 |
Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать Прошу прощения, не указал что массив делаю чтобы можно было отбирать по фильтру, например
$array | where {$_.OSBits -eq 'x86'} Name OSBits FileName ---- ------ -------- Microsoft Visual C++ 2005 Redistributable x86 vcredist_x86_2005.exe Microsoft Visual C++ 2013 Redistributable (x86) x86 vcredist_x86_2013.exe Microsoft Visual C++ 2017 Redistributable (x86) x86 vcredist_x86_2017.exe Kazun, командой $array += New-Object PSObject -Property @{Name='Microsoft Visual C++ 2005 Redistributable'; OSBits='x86'; FileName='vcredist_x86_2005.exe'} $array = $null $array += New-Object PSObject -Property @{Name='Microsoft Visual C++ 2005 Redistributable'; OSBits='x86'; FileName='vcredist_x86_2005.exe'} $array += @{Name='Microsoft Visual C++ 2005 Redistributable'; OSBits='x86'; FileName='vcredist_x86_2005.exe-'} Сбой вызова метода из-за отсутствия в [System.Management.Automation.PSObject] метода с именем "op_Addition". строка:1 знак:1 + $array += @{Name='Microsoft Visual C++ 2005 Redistributable'; OSBits= ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (op_Addition:String) [], RuntimeException + FullyQualifiedErrorId : MethodNotFound |
Отправлено: 10:31, 15-11-2018 | #4 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 10:38, 15-11-2018 | #5 |
Пользователь Сообщения: 60
|
Профиль | Отправить PM | Цитировать Kazun, большое спасибо.
Так все работает как надо. $ExecutionContext.SessionState.LanguageMode ConstrainedLanguage $array = @() $array += New-Object PSObject -Property @{Name='Microsoft Visual C++ 2005 Redistributable'; OSBits='x86'; FileName='vcredist_x86_2005.exe'} $array += New-Object PSObject -Property @{Name='Microsoft Visual C++ 2005 Redistributable (x64)'; OSBits='x64'; FileName='vcredist_x64_2005.exe'} $array OSBits Name FileName ------ ---- -------- x86 Microsoft Visual C++ 2005 Redistributable vcredist_x86_2005.exe x64 Microsoft Visual C++ 2005 Redistributable (x64) vcredist_x64_2005.exe $array | where {$_.OSBits -eq 'x86'} OSBits Name FileName ------ ---- -------- x86 Microsoft Visual C++ 2005 Redistributable vcredist_x86_2005.exe |
Отправлено: 10:50, 15-11-2018 | #6 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Цитата densan:
|
|
Отправлено: 12:41, 15-11-2018 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - powershell и snmp | mcintosh55 | Скриптовые языки администрирования Windows | 1 | 13-12-2016 15:12 | |
PowerShell - PowerShell | bort-747 | Скриптовые языки администрирования Windows | 0 | 10-04-2012 11:29 | |
PowerShell - PowerShell и Excel | tarasov.evgeny | Скриптовые языки администрирования Windows | 11 | 15-11-2011 16:27 | |
PowerShell - Powershell и Access | tarasov.evgeny | Скриптовые языки администрирования Windows | 2 | 09-06-2011 17:06 | |
Разное - PowerShell | Butunin Klim | Программирование и базы данных | 1 | 31-07-2008 18:39 |
|