Заметки на полях
Чтобы запустить интерактивный сеанс с одним удаленным компьютером, используйте командлет Enter-PSSession. Например, чтобы запустить интерактивный сеанс с удаленным компьютером Server01, введите:
enter-pssession Server01
В командной строке отобразится имя компьютера, к которому вы подключены. В дальнейшем все команды, введенные в командной строке, будут запускаться на удаленном компьютере, а результаты отобразятся на локальном компьютере.
Чтобы завершить интерактивный сеанс, введите:
exit-pssession
Выполнение удаленной команды
Чтобы выполнить любую команду на одном или нескольких удаленных компьютерах, используйте командлет Invoke-Command. Например, чтобы выполнить команду Get-UICulture на удаленных компьютерах Server01 и Server02, введите:
invoke-command -computername Server01, Server02
Выходные данные будут возвращены на ваш компьютер.
Чтобы запустить сценарий на одном или нескольких удаленных компьютерах, используйте параметр FilePath командлета Invoke-Command. Сценарий должен быть включен или доступен для локального компьютера. Результаты будут возвращены на локальный компьютер.
Например, следующая команда выполняет сценарий DiskCollect.ps1 на удаленных компьютерах Server01 и Server02.
invoke-command -computername Server01, Server02 -filepath c:ScriptsDiskCollect.ps1
Установка постоянного подключения
Чтобы выполнить ряд связанных команд с общими данными, создайте сеанс на удаленном компьютере, а затем используйте командлет Invoke-Command для выполнения команд в созданном сеансе. Чтобы создать удаленный сеанс, используйте командлет New-PSSession.
Например, следующая команда создает удаленный сеанс на компьютере Server01 и другой удаленный сеанс на компьютере Server02. Она сохраняет объекты сеанса в переменной $s.
$s = new-pssession -computername Server01, Server02
После установки сеансов в них можно выполнить любую команду. Так как сеансы являются постоянными, вы можете собирать данные в одной команде и использовать их в последующей.
Например, следующая команда выполняет команду Get-Hotfix в сеансах в переменной $s и сохраняет результаты в переменной $h. Переменная $h создается в каждом сеансе в $s, но она не существует в локальном сеансе.
invoke-command -session $s
Теперь данные в переменной $h можно использовать в последующих командах, таких как следующая. Результаты отобразятся на локальном компьютере.
Управление сетевыми адаптерами с помощью PowerShell
Отобразить список доступных сетевых интерфейсов на компьютере:
Командлет возвращает имя интерфейса, его состояние (Up/Down), MAC-адрес и скорость порта.
В этом примере у меня есть несколько сетевых адаптеров на моем компьютере (помимо физического подключения Ethernet0, у меня есть несколько сетевых интерфейсов Hyper-V и VMWare Player).
Вы можете ссылаться на сетевые интерфейсы по их именам или индексам (столбец ifIndex). В нашем примере, чтобы выбрать физический сетевой адаптер Intel 82574L, используйте команду:
Вы можете изменить имя адаптера:
Чтобы отключить сетевой интерфейс, используйте эту команду:
Когда вы включаете интерфейс, вы не можете использовать его индекс, поскольку он ещё не назначен. Вы можете указать имя или описание адаптера:
Если для адаптера указана VLAN, вы можете отобразить её следующим образом:
Вот как можно получить информацию об используемом драйвере сетевого адаптера:
Информация о физических сетевых адаптерах (слот PCI, шина и т. д.):
Powershell: удаленная установка exe
У меня проблемы с моим скриптом, который предназначен для удаленной установки исполняемого файла. Все предварительные действия моего сценария работают просто отлично. Я извлекаю имена хостов около десятка компьютеров из текстового файла. Я использую PSExec для включения-PSRemoting. Затем установщик копируется во временный каталог на удаленном компьютере. Все отлично работает, кроме важной части. Я просто не могу заставить его установить.
Я пробовал следующее:
Я пытался использовать New-PSSession так:
Никто не посылает никаких ошибок, они просто ничего не делают. Команды, которые имеют -Wait просто навсегда зависают. Если я ставлю -Sleep, он просто ждет запрошенные секунды, а затем завершает работу, ничего не делая. Я не знаю, имеет ли это значение, но когда я запускаю исполняемый файл на локальном компьютере с параметром / SILENT, он не запрашивает никаких запросов, но открывает окно проводника.
Я пытался использовать PSExec.exe, но я получаю аналогичный результат. Просто навсегда висит безо всякой ошибки. Заранее благодарю за любую помощь!
Power Shell удаленно активировать Windows
Так что у меня есть компьютер с полным доступом к внутренней сети (для того, что мне нужно сделать), и я не уверен, что это проблема кода или я не понимаю вещи.
Но я пытаюсь активировать Windows 7 HP удаленно на 300+ единиц. нет домена, все удаленные ПК являются рабочей группой. Сервер лицензий отсутствует, ключи находятся в текстовом файле, брандмауэры на обоих компьютерах. Одно имя для всех, разные Ips, и целевой компьютер имеет защищенную паролем учетную запись.
Я пытался активировать его напрямую, но продолжал блокироваться, я подумал, что это была противопожарная стена, но изо всех сил пытался отключить его напрямую, поэтому теперь я не включил File and Pritner Sharing & WMI, потому что это позволило мне активировать его без проблем. (Нет доступа в интернет)
Русские Блоги
Теперь у вас есть сервер ( Хозяин ), вы планируете удаленно управлять несколькими серверами ( Заряженный конец ). Этот процесс можно выполнить с помощью Windows PowerShell.
Сначала откройте PowerShell с правами администратора на управляемой стороне и введите следующую команду (где XXX — это поле в IP-адресе, а TrustedHosts заполняет IP-адрес основного управляющего конца):
Затем откройте PowerShell с правами администратора на хосте и введите следующую команду (где «XXX.XXX.XXX.XXX» — это IP-адрес хоста, а «domain userName» — логин на хост-машине):
После ввода этой команды и нажатия Enter, вам будет предложено подтвердить пароль вошедшего в систему пользователя на контролируемой стороне.После ввода нажмите Enter — Сеанс успешно создан.
После этого мы можем управлять удаленным компьютером (управляемым концом) через переменную $ session.
Например: если мы хотим перезагрузить этот компьютер удаленно, нам нужно только продолжить вводить текст в окне PowerShell на консоли:
После ввода и нажатия Enter машина на контролируемой стороне была перезапущена.
Я инкапсулировал процесс вышеупомянутого главного управляющего терминала, и инкапсулированный метод:
С этого момента главному управляющему терминалу требуется только следующий оператор:
Единственная неприятность заключается в том, что после выполнения вышеуказанного оператора вам необходимо проверить пароль соответствующего «domain userName»:
В случае проверки пароля следующие методы могут автоматически завершить процесс проверки пароля:
Автоматизация создания VPN-соединения
Для автоматического создания соединения важно чтобы конечный пользователь совершал минимум необходимых действий. В целях безопасности PowerShell скрипты нельзя запустить двойным кликом, поэтому будем использовать старый добрый CMD, в котором уже будем запускать PS и передавать ему нужные команды.
Ниже пример простого командного файла, который создает VPN-соединение и прописывает маршрут для него:
Обратите внимание, что команда полностью берется в двойные кавычки, а все двойные кавычки внутри команды заменены на одинарные. Данное содержимое вносим в Блокнот и сохраняем с расширением .bat или .cmd, для создания подключения не требуется повышения прав.
Что будет, если пользователь запустит командный файл повторно? Ничего страшного, он выдаст сообщение, что соединение с таким именем уже существует и завершит работу.
Если вам нужно внести какие-либо изменения в параметры подключения, вы точно также можете создать новый командный файл, в котором будете использовать командлет Set-VpnConnection.
В целом PowerShell предоставляет достаточно широкие возможности по простому и удобному управлению VPN-соединениями на компьютере и позволяет решать множество связанных с этим задач в один клик, используя скрипты и командные файлы.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.