Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/34: Рейтинг темы: голосов - 34, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 21.07.2015
Сообщений: 70

Установка программ (софта) средствами PowerShell

19.04.2019, 14:33. Показов 7217. Ответов 9

Студворк — интернет-сервис помощи студентам
Приветствую!
Есть кусок кода.

Кликните здесь для просмотра всего текста

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Function comp_entering_domain() 
{ 
$compname = read-host 'Введите имя компьютера' 
Set-Variable -Name 1 -Value 'G 16' 
Set-Variable -Name 2 -Value 'Е 12' 
Set-Variable -Name 3 -Value 'L 260' 
Set-Variable -Name 4 -Value 'S' 
Set-Variable -Name 5 -Value 'P 59' 
$choose = read-host ( 
    "Выберите цифру соответствующую необходимой площадке: 
    1 G 
    2 Е 
    3 L 
    4 S 
    5 P 
") 
$place=get-variable -Value $choose 
Add-Computer -NewName $compname -DomainName domain.ru -Credential domain.ru\p59_adm1 -OUPath "OU=$place,OU=Компьютеры,OU=Домен Санкт-Петербург,DC=domain,DC=RU" -PassThru -Verbose 
 
# Проверка разрадности системы и наличия установленного агента антивируса 
$nPath = "\\domain.ru\NETLOGON\NOD 6.0" 
cls 
# Определение архитектуры ОС 
$OS = Get-WmiObject -Computer localhost -Class Win32_OperatingSystem 
$ostype = $OS.OSArchitecture 
 
# Задаем переменную для определения разрядности исполняемого файла 
if ($typeos -eq "64-"){ 
    $Agent = {Agent_x86.msi} 
} else { 
    $Agent = {Agent_x64.msi} 
} 
 
$nPath = "\\domain.ru\NETLOGON\NOD 6.0" 
 
# Задаем переменную для доступа к сетевой шаре 
$user = read-host "Введите имя пользователя" 
 
[COLOR="Red"]& {runas /noprofile /env /netonly /user:domain\$user 'explorer.exe "\\domain.ru"'}[/COLOR] 
Switch($choose){ 
  3{Set-location -path "$nPath\agentL\"} 
  5{Set-location -path "$nPath\agentP\"} 
  1{Set-location -path "$nPath\agenG\"} 
  4{Set-location -path "$nPath\agentS\"} 
} 
start-process .\$agent -wait 
}


Задача это кода, вводить комп в домен и на основании сделанного выбора помещать учетку компа в определенную OUшку.
Далее, на основании сделанного выбора, устанавливать агент антивируса из определенной директории (для разных объектов разные настройки конфигурации).

На текущий момент, при попытке перейти в указанную директорию, для последующей установки агента, система ругается на отсутствие доступа.
Пробовал в Start-Process добавлять параметр авторизации "-Credention domain\user", не помогло. В этом варианте, у меня в "Switch($choose)" было Start-Process с указанием пути до исполнимого файла и добавлялся параметр авторизации.
Пробовал (выделено красным) заходить в шару с помощью CMD RUNAS, шара открывается, а PS на это пофиг...
Подскажите пожалуйста, как я могу решить свой вопрос?

Добавлено через 10 минут
Пробовал в Start-Process добавлять параметр авторизации "-Credention domain\user", не помогло. В этом варианте, у меня в "Switch($choose)" было Start-Process с указанием пути до исполнимого файла и добавлялся параметр авторизации.
Т.е. так:
Кликните здесь для просмотра всего текста

PowerShell
1
2
3
4
5
6
Switch($choose){ 
  3{Start-Process -Credential domain\user -FilePath "$nPath\agentL\$Agent" -wait} 
  5{Start-Process -Credential domain\user -FilePath "$nPath\agentP\$Agent" -wait} 
  1{Start-Process -Credential domain\user -FilePath "$nPath\agenG\$Agent" -wait} 
  4{Start-Process -Credential domain\user -FilePath "$nPath\agentS\$Agent" -wait} 
}


Добавлено через 32 минуты
Чтобы было понятнее.

Если в комп домене, то код

Кликните здесь для просмотра всего текста

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$compname = read-host 'Введите имя компьютера'
Set-Variable -Name 1 -Value 'G'
Set-Variable -Name 2 -Value 'Е'
Set-Variable -Name 3 -Value 'L'
Set-Variable -Name 4 -Value 'S'
Set-Variable -Name 5 -Value 'P'
$choose = read-host (
    "Выберите цифру соответствующую необходимой площадке:
    1 G
    2 Е
    3 L
    4 S
    5 P
")
$place=get-variable -Value $choose
 
$nPath = "\\domain.ru\NETLOGON\NOD 6.0"
 
$OS = Get-WmiObject -Computer localhost -Class Win32_OperatingSystem
$ostype = $OS.OSArchitecture
 
if ($typeos -eq "64-"){
    $Agent = {Agent_x86.msi}
} else {
    $Agent = {Agent_x64.msi}
}
 
$user = read-host "Введите имя пользователя"
 
Switch($choose){
  3{Set-location -path "$nPath\agentL\"}
  5{Set-location -path "$nPath\agentP\"}
  1{Set-location -path "$nPath\agenG\"}
  4{Set-location -path "$nPath\agentS\"}
}
 
start-process .\$agent -wait

работает без проблем.
 Комментарий модератора 
Не плодите посты
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.04.2019, 14:33
Ответы с готовыми решениями:

Работа с таблицами Word средствами PowerShell
Доброго времени суток! Подскажите, где найти справочник по работе с таблицами средствами powershell? Например, как добавить к...

Групповое переименование файлов средствами PowerShell 2.0
Здравствуйте, при переименовании файлов скрипт отрабатывает не со всеми форматами, выдает ошибку типаНе удается индексировать в объект типа...

Отстутствие софта в установка\удаление программ
Здравствуйте. С удивлением обнаружил, что в программа и компонентах, отсутствует большая часть установленного софта. При этом сам софт -...

9
0 / 0 / 0
Регистрация: 21.07.2015
Сообщений: 70
22.04.2019, 11:15  [ТС]
Так я же в той теме, где удалено и написал, что ошибся темой и можно удалить...

Добавлено через 2 минуты
Народ, подскажите плиз, как пройти авторизацию при установке софта, подключаясь к домменной шаре с компа не входящего в домен?
Сам код выше.
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
22.04.2019, 11:44
Цитата Сообщение от lcnet Посмотреть сообщение
как пройти авторизацию при установке софта, подключаясь к домменной шаре с компа не входящего в домен?
https://www.cyberforum.ru/post8928207.html
https://www.cyberforum.ru/post13044082.html
https://www.cyberforum.ru/post13402869.html
0
0 / 0 / 0
Регистрация: 21.07.2015
Сообщений: 70
22.04.2019, 12:36  [ТС]
Спасибо за оперативность, но доступа к указанному ресурсу нет...

New-PSDrive -Name NOD6 -PSProvider FileSystem -Root "\\domain.ru\share" -Credential domain\adm1

New-PSDrive : Не найден сетевой путь
строка:1 знак:1
+ New-PSDrive -Name NOD6 -PSProvider FileSystem -Root "\\domain.ru\share" ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (NOD6:PSDriveInfo) [New-PSDrive], Win32Exception
+ FullyQualifiedErrorId : CouldNotMapNetworkDrive,Microsoft.PowerS hell.Commands.NewPSDriveCommand
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
22.04.2019, 12:45
Цитата Сообщение от lcnet Посмотреть сообщение
доступа к указанному ресурсу нет
А откуда он возьмётся, если:

Цитата Сообщение от lcnet Посмотреть сообщение
New-PSDrive : Не найден сетевой путь
0
0 / 0 / 0
Регистрация: 21.07.2015
Сообщений: 70
22.04.2019, 12:53  [ТС]
т.е. я пытаюсь подключиться под админом домена и он не дает доступа

Добавлено через 1 минуту
Дело в том, что та же самая команда, но под доменной учеткой отрабатывает без проблем

Добавлено через 1 минуту
Вся проблема в доступе, почему я сюда и обратился...
Мне нужно получать доступ из консоли на компе, который еще не введен в домен, где одна из операций, как раз и ввод компьютера в домен.

Добавлено через 3 минуты
Извиняюсь, моя ошибка, в корень домена пытался войти, но если идти в сетевую шару, то доступа все равно нет

New-PSDrive : Нет доступа к сети
строка:1 знак:1
+ New-PSDrive -Name NOD6 -PSProvider FileSystem -Root "\\domain.ru\sh ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (NOD6:PSDriveInfo) [New-PSDrive], Win32Exception
+ FullyQualifiedErrorId : CouldNotMapNetworkDrive,Microsoft.PowerS hell.Commands.NewPSDriveCommand
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
22.04.2019, 13:01
Лучший ответ Сообщение было отмечено lcnet как решение

Решение

Цитата Сообщение от lcnet Посмотреть сообщение
если идти в сетевую шару, то доступа все равно нет
Зашёл в систему под локальным пользователем и проверил:

PowerShell
1
2
3
4
5
6
7
8
9
10
$path = '\\domain.ru\share'
 
$user = 'domain\aduser'
$pass = 'P@ssw0rd'
 
$password = ConvertTo-SecureString $pass -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user,$password
 
New-PSDrive -Name V -PSProvider FileSystem -Root $path -Credential $cred
Get-ChildItem V:
У меня всё работает.
0
0 / 0 / 0
Регистрация: 21.07.2015
Сообщений: 70
22.04.2019, 13:11  [ТС]
что-то я совсем перестал понимать

Даже под доменной учеткой выдает ошибку, но
если убрать параметр -credential, то под доменной учеткой все ОК.
Как PS заставить при подключении самого спросить авторизацию, типа как самба делает?

Добавлено через 9 минут
Спасибо мил человек ))

Ссылки то мне дали, а только наполовину...

Проглядел эту строку.

$cred = New-Object -TypeName System.Management.Automation.PSCredentia l -ArgumentList $user,$password

Вопрос закрыт.
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
22.04.2019, 13:15
Цитата Сообщение от lcnet Посмотреть сообщение
Как PS заставить при подключении самого спросить авторизацию
PowerShell
1
2
New-PSDrive -Name V -PSProvider FileSystem -Root '\\domain.ru\share' -Credential (Get-Credential -Message 'Enter Login and Password')
Get-ChildItem V:
Добавлено через 3 минуты
Цитата Сообщение от lcnet Посмотреть сообщение
Ссылки то мне дали, а только наполовину...
Серьёзно? Первая же ссылка из ответа #3, показывает пример, повторённый мной в ответе #7 и оба они решают ваш вопрос.
0
0 / 0 / 0
Регистрация: 21.07.2015
Сообщений: 70
22.04.2019, 13:24  [ТС]
Да, я уже после ответа увидел, что в первой ссылке есть данный параметр.
Во второй и третьей не было ((
Как я уже написал, спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.04.2019, 13:24
Помогаю со студенческими работами здесь

Установка программ средствами групповой политики
День добрый. Есть сервант 2008 r2 на нем поднят домен. Средствами гпо были созданы пакеты программ устанавливаемые при входе юзеров (проги...

Запустить внешнюю программу в другом сеансе средствами Powershell
Добрый день! Подскажите, решил ли кто, как можно выполнить программу, код из под другой сессии в windows 2008 или windows 10. ...

Автоматическая установка софта
Доброго времени суток, товарищи! В общем, имеется ОЧЕНЬ много различных программ, которые необходимо устанавливать при перезарядке Винды....

Установка нового софта
Здравствуйте. Пытаюсь установить на Windows XP adobe flash player или Яндекс браузер, но после нажатия на exe файлы далее ничего не...

Установка софта для HP2820
Подскажите пожалуйста, если кто сталкивался с подобной проблемой. Давным-давно, когда только устроился в новую чешскую фирму, на одном из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru