Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Вывод двух команд в один фаил

Ответить
Настройки темы
PowerShell - Вывод двух команд в один фаил

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Приветствую всех. Пишу небольшие скрипты столкнулся с проблемой. Не получается объединить вывод двух команд в один результат
Код: Выделить весь код
Invoke-Command -ComputerName $computername -ScriptBlock{Get-ComputerInfo -Property WindowsVersion|Get-WmiObject -Class Win32_ComputerSystem}  |Select-Object PSComputerName, WindowsVersion, UserName |Export-Csv 1.csv  -Append
Вылезает ошибка:
Не удается привязать объект ввода к любым параметрам команды, так как команда не принимает входные данные конвейера, либо входные данные и их свойства не совпадают с любыми из параметров, принимающих входные данные конвейера.
+ CategoryInfo : InvalidArgument: (@{WindowsVersion=1909}:PSObject) [Get-WmiObject], ParameterBindingException
+ FullyQualifiedErrorId : InputObjectNotBound,Microsoft.PowerShell.Commands.GetWmiObjectCommand

Подскажите в чем ошибка и как исправить. Суть в csv имя ПК версия ос и залогененый пользователь

Отправлено: 14:12, 23-09-2022

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6493
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Вы пытаетесь передать Get-WmiObject данные из Get-ComputerInfo, что, естественно, работать не будет, т. к. Get-WmiObject так не умеет.
Код: Выделить весь код
Get-ComputerInfo -Property WindowsVersion|Get-WmiObject -Class Win32_ComputerSystem
См. статью о конвейерах.

В каком виде должна быть "версия ОС"?

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:01, 23-09-2022 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Мне нужно узнавать версию сборки. мне просто чтоб в одну строку выводило

Отправлено: 15:44, 26-09-2022 | #3


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6493
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Вот так попробуйте:
Код: Выделить весь код
Invoke-Command -ComputerName $computername -ScriptBlock {
    "$($env:computername);$((Get-ComputerInfo -Property WindowsVersion).windowsversion);$((gwmi -Class Win32_ComputerSystem).username)" |
    ConvertFrom-Csv -Delimiter ';' -Header PSComputerName,WindowsVersion,UserName
} |Export-Csv c:\temp\1.csv  -Append -NoTypeInformation
Не тестировал, т. к. удалённой машины под рукой нет.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:52, 26-09-2022 | #4


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата sap87@vk:
нужно узнавать версию сборки. мне просто чтоб в одну строку выводило »
Код: Выделить весь код
$psversiontable.os
Не? Или для PS v 5.1:
Код: Выделить весь код
$psversiontable.buildversion
Хмм... почему-то в разных версиях PS выдаются разные цифры...
Ну, тогда для надежности, в любой версии PS:
Код: Выделить весь код
(gcim -cl Win32_OperatingSystem).version
либо вообще, как-то так:
Код: Выделить весь код
[environment]::osversion.versionstring

-------
scio me nihil scire. Ѫ


Последний раз редактировалось YuS_2, 27-09-2022 в 08:31.


Отправлено: 08:06, 27-09-2022 | #5


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


МНе ведь кроме сборке нужно имя пк, последний пользователь, а из домена почта пользователя. И желательно одной строкой.

А вопрос что означает ;$. Или где прочитать?

Отправлено: 08:56, 27-09-2022 | #6


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6493
Благодарности: 1465

Профиль | Отправить PM | Цитировать


$psversiontable - это версия самого Пауэршелла.
Цитата sap87@vk:
что означает ;$ »
";" в данном случае разделитель столбцов в CSV.
"$" - это знак переменной.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 09:03, 27-09-2022 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Вывод двух команд в один фаил

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Повторение двух и более команд ymo_4@vk Скриптовые языки администрирования Windows 1 01-12-2017 08:35
CMD/BAT - [решено] Вывод списка команд в txt Limonica Скриптовые языки администрирования Windows 3 04-03-2015 01:39
CMD/BAT - [решено] Как отключить вывод команд и результатов на экран? V!RTuE Скриптовые языки администрирования Windows 3 29-08-2014 08:45
CMD/BAT - [решено] Вывод сообщения ошибки после выполнения команд white155 Скриптовые языки администрирования Windows 1 09-04-2011 19:52
Запуск в WPI двух команд одновременно ChVL Автоматическая установка приложений 0 05-12-2007 08:36




 
Переход