Powershell - что говорит эта строка?

Я разработчик ServiceNow. Я имею дело со сценарием PowerShell, о котором я не знаю. Может ли кто-нибудь сказать мне, что происходит в строке ниже? Спасибо!

$currentuserid = Get-WmiObject -Class win32_computersystem -ComputerName $workstation | Select-Object -ExpandProperty Username

Это получение текущего имени пользователя, которое вошло в систему, путем получения свойства username объекта wim32_computersystem WMIObect и присвоения его переменной $currentuserid.

jrider 26.09.2018 20:15

Google - довольно надежная поисковая система; вы обнаружите, что если вы читаете какие-либо страницы Microsoft, которые появляются, когда вы используете Get-WMIObject, Win32_ComputerSystem и Select-Object в качестве условий поиска, у вас легко будет достаточно информации, чтобы проанализировать это утверждение самостоятельно.

Jeff Zeitlin 26.09.2018 20:20

Спасибо за ответ @jrider. Вы тоже можете это подтвердить? -ComputerName $ workstation

evan 26.09.2018 20:20
-ComputerName $workstation - это переменная, которая предназначена для получения информации с удаленного компьютера.
Clayton Lewis 26.09.2018 20:36

@Backin, не могли бы вы отличить ч / б -ComputerName $ workstation

evan 26.09.2018 20:49

@Rakesh Я не на 100% уверен, что вы имеете в виду. -ComputerName - это свойство, которое можно определить в командлете Get-WMIObject, чтобы вы могли получать информацию с удаленного компьютера. $workstation будет представлять значение string для имени компьютера, с которого вы хотите получать данные. То, что вы предоставили, не дает полного контекста для дальнейшей разработки. $workstation не определен и действительно будет использоваться только тогда, когда его нужно динамически добавлять, например, в for loop.

Clayton Lewis 26.09.2018 20:59
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
6
90
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Давайте разберем эту команду

$currentuserid = Get-WmiObject -Class win32_computersystem -ComputerName $workstation | Select-Object -ExpandProperty Username

В PowerShell $ - это идентификатор переменной. Это означает, что $ currentuserid будет равно результату последней команды в конвейере, в данном случае Выбрать объект.

Также в PowerShell -что бы ни после команды является параметром.

Символ | - труба.

Get-WmiObject - это команда, выполняющая WMI-вызов win32_computersystem через параметр -класс, который представляет собой лишь некоторую базовую информацию о компьютерной системе. Параметр -Имя компьютера с переменной $ рабочая станция означает выполнение удаленного вызова WMI на другой компьютер, который мне неизвестен, потому что я не знаю, что находится внутри переменной $ workstation. Выходные данные затем передаются | команде выбрать объект, которая позволяет вырезать данные из свойства. Параметр -ExpandProperty означает просто возвращать то, чему равно значение свойства. Значение свойства, которое он хотел, было Имя пользователя.

Проще говоря, это получение имени пользователя из класса Win32_computersystem в вызове WMI в неизвестную удаленную систему.

Это отличное объяснение. Спасибо!

evan 26.09.2018 22:38

Другие вопросы по теме