Автор Тема: Powershell удаленная консоль в одноранговой сети  (Прочитано 15620 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Neonaft

  • Старожил
  • ****
  • Сообщений: 996
  • Рейтинг: 7
  • Пол: Мужской
  • Балбес по жизни
    • Просмотр профиля
  • Откуда: Москоу
Чем закончилось то?
Пока нет времени другим загрузили :(
Мощность ядерного взрыва равна 22030000000ккал что примерно соответствует 4,3 тысяч тонн копченой колбасы (С) БАШ
Мой блог - http://vozerov.ru

Оффлайн Neonaft

  • Старожил
  • ****
  • Сообщений: 996
  • Рейтинг: 7
  • Пол: Мужской
  • Балбес по жизни
    • Просмотр профиля
  • Откуда: Москоу
Ну что получилось :)
TrustedHosts добавил простой командой  :D
set-item wsman:localhost\client\trustedhosts -value *

Правда не знаю как добавлять пароль на подключение, но думаю это решается :)
Мощность ядерного взрыва равна 22030000000ккал что примерно соответствует 4,3 тысяч тонн копченой колбасы (С) БАШ
Мой блог - http://vozerov.ru

Оффлайн Neonaft

  • Старожил
  • ****
  • Сообщений: 996
  • Рейтинг: 7
  • Пол: Мужской
  • Балбес по жизни
    • Просмотр профиля
  • Откуда: Москоу
Нет все таки никак с паролем :(
Итак подключаемся к виртуалке через параметр
Enter-PSSession Comp -Credential Domain\User
У меня запрашивают пароль вводим и все работает.
НО! мне нужно все это в скрипте, в том числе и ввод пароля. Тут и проблема. Пока все что нашел это вариации -Credential в котором нужен ввод пароля, задания через скрипт не вижу :(
Мощность ядерного взрыва равна 22030000000ккал что примерно соответствует 4,3 тысяч тонн копченой колбасы (С) БАШ
Мой блог - http://vozerov.ru

Оффлайн shs

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 4401
  • Рейтинг: 89
    • Просмотр профиля
    • ShS's blog
  • Откуда: Default city
У меня запрашивают пароль вводим и все работает.
НО! мне нужно все это в скрипте, в том числе и ввод пароля. Тут и проблема. Пока все что нашел это вариации -Credential в котором нужен ввод пароля, задания через скрипт не вижу

Create Windows PowerShell Scripts that Accept Credentials

Оффлайн Neonaft

  • Старожил
  • ****
  • Сообщений: 996
  • Рейтинг: 7
  • Пол: Мужской
  • Балбес по жизни
    • Просмотр профиля
  • Откуда: Москоу
Мдааа извратно конечно но разобрался
В общем в начале надо создать пустой файл  c:\temp\password.txt
Потом сообразить скрипт вида

$credential=Get-Credential
$credential.Password | ConvertFrom-SecureString | Set-Content c:\temp\password.txt
И в появившемся окне ввести логин и пароль (Логин любой, пароль тот что нужен)
и мы получим зашифрованный пароль в файле password.txt
и уже потом использовать

$password = Get-Content c:\temp\password.txt | ConvertTo-SecureString 
$credential = New-Object System.Management.Automation.PSCredential "Домен\Пароль",$password
Enter-PSSession xp -Credential $credential

После этого срабатывает :)
Мощность ядерного взрыва равна 22030000000ккал что примерно соответствует 4,3 тысяч тонн копченой колбасы (С) БАШ
Мой блог - http://vozerov.ru

Оффлайн Neonaft

  • Старожил
  • ****
  • Сообщений: 996
  • Рейтинг: 7
  • Пол: Мужской
  • Балбес по жизни
    • Просмотр профиля
  • Откуда: Москоу
да чтож такое то, что не понос так золотуха  >:(

Итак скрипт разработан, при выполнении построчно в консоли все прекрасно работает, но...

При удаленном подключении к удаленной консоли нет импорта модулей. Мне для создания дика и запуска виртуалки нужен модуль Hyper-V
При построчной работе я использую комбинацию вида
Enter-PSSession hyper-test
Import-Module HyperV

и дальше все нормально. Но при работе из скрипта импорт модулей не происходит. Попытка добавить импорт в локальный или общий профиль дало только появление модуля в основной консоли. В удаленной их нет.
Мощность ядерного взрыва равна 22030000000ккал что примерно соответствует 4,3 тысяч тонн копченой колбасы (С) БАШ
Мой блог - http://vozerov.ru

Оффлайн shs

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 4401
  • Рейтинг: 89
    • Просмотр профиля
    • ShS's blog
  • Откуда: Default city
Ну, Kazun, тебе уже на технетах ответил...

Оффлайн Fray

  • Администратор
  • Олдфаг
  • *****
  • Сообщений: 6669
  • Рейтинг: 58
  • Пол: Мужской
    • Просмотр профиля
    • IT-Бложек
  • Откуда: Петербург
Ну, Kazun, тебе уже на технетах ответил...
Процитируйте, плиз ;)
MCSE: Messaging, MCSE: Communication, MCSE: Productivity, MCSA: Office 365, MCPS
my blog - http://it-blojek.ru

Оффлайн Neonaft

  • Старожил
  • ****
  • Сообщений: 996
  • Рейтинг: 7
  • Пол: Мужской
  • Балбес по жизни
    • Просмотр профиля
  • Откуда: Москоу
Цитировать
1) icm hyperV { Import-Module HyperV;Start-VM test}

2)

$s = New-PSSession -ComputerName HyperV
Invoke-Command -Session $s -ScriptBlock {Import-Module HyperV}     

Import-PSSession -Session $s -Module HyperV
Start-VM test

http://social.technet.microsoft.com/Forums/ru-RU/scrlangru/thread/82e87208-0841-49b3-9732-d63d998ac468/
Мощность ядерного взрыва равна 22030000000ккал что примерно соответствует 4,3 тысяч тонн копченой колбасы (С) БАШ
Мой блог - http://vozerov.ru

Оффлайн shs

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 4401
  • Рейтинг: 89
    • Просмотр профиля
    • ShS's blog
  • Откуда: Default city
Мдааа извратно конечно но разобрался
В общем в начале надо создать пустой файл  c:\temp\password.txt
Потом сообразить скрипт вида

$credential=Get-Credential
$credential.Password | ConvertFrom-SecureString | Set-Content c:\temp\password.txt
И в появившемся окне ввести логин и пароль (Логин любой, пароль тот что нужен)
и мы получим зашифрованный пароль в файле password.txt
и уже потом использовать

$password = Get-Content c:\temp\password.txt | ConvertTo-SecureString 
$credential = New-Object System.Management.Automation.PSCredential "Домен\Пароль",$password
Enter-PSSession xp -Credential $credential

После этого срабатывает :)
Не, не хочешь заморачиваться с храннением пароля в зашифрованном виде, тогда можно сделать так:
$username = 'mydomain\myusername'
$password = 'mypassword'
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList $username,(ConvertTo-SecureString -String $password -AsPlainText -Force)