Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » PowerShell

Модерирует : KLASS, IFkO

KLASS (06-03-2018 00:43): Объединение тем по сценариям: Сценарии Windows
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

   

Uriu

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Версии

PowerShell 1.0 -  На текущий момент совершенно неактуальная версия, интересная только для истории. /Прямые ссылки/
PowerShell 2.0 и WinRM 2.0 - Последняя версия, работающая на Windows XP и Windows 2003 (Ещё) /Прямые ссылки/
PowerShell 3.0 (Windows Management Framework 3.0)
PowerShell 4.0 (Windows Management Framework 4.0)
PowerShell 5.0 (Windows Management Framework 5.0)
PowerShell 5.1 (Windows Management Framework 5.1)
PowerShell Core 6.0 (не заменяет PowerShell 5.1)



Ассоциация

Что бы ассоциировать скрипты с PowerShell, аналогично выполнению .bat/.cmd-файлов
нужно в командной строке набрать следующую команду(ы)
Версии 1.0-5.1 для 32-битных ОС: ftype microsoft.powershellscript.1=%windir%\system32\windowspowershell\v1.0\powershell.exe -file "%1"  
%*
 
Версии 1.0-5.1 для 32-битных ОС: ftype microsoft.powershellscript.1=%windir%\sysWOW64\windowspowershell\v1.0\powershell.exe -file "%1"  
%*
 
Версия 6.0 дя 32-битной ОС: ftype microsoft.powershellscript.1="C:\Program Files (86)\PowerShell\6.0.0\pwsh.exe"  -file "%1" %*
Версия 6.0 дя 64-битной ОС: ftype microsoft.powershellscript.1="C:\Program Files\PowerShell\6.0.0\pwsh.exe"  -file "%1" %*



вопрос о подписи скриптов

Что бы PowerShell не задавал вопрос о том, что скрипты не подписаны, ввести в нем команду
set-executionpolicy unrestricted
или в командной строке
powershell Set-ExecutionPolicy Unrestricted -force
(для этих 2-х действий требуются административные права)



Прочее


  • Если используете "белый список" в брандмауэре Windows, то для работы сценариев в сети необходимо создать 2 исходящих правила для svchost.exe и PowerShell.exe.
  • В отличие от батников кодировка скриптов на PowerShell должна быть 1251 (ANSI)




Расширение возможностей PowerShell
Функции
* Write-Color
* PowerTab --- Расширение функций клавиши Tab
Провайдеры
Готовые скрипты
* Ошибки и предупреждения в журнале событий по электронной почте (в4.0)
 


Работа со сценариями в Windows PowerShell
Раздел в MSDN
Краткие справочники по Windows PowerShell 3.0 (english)
Windows PowerShell Франк Кох (БЕРН)  Разработчик и пропагандист платформы. На русском языке в формате pdf и doc

Всего записей: 340 | Зарегистр. 25-11-2004 | Отправлено: 07:13 23-03-2006 | Исправлено: KapralBel, 09:31 29-01-2018
lynnik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 All
 
есть некая соманда с параметрами
connamd -par1
 
как мне запустить её много раз с разными параметрами ?
 
connamd -par1
connamd -par3
connamd -par4
...
 
то есть что то типа BAT файла в котором построчно заданны команды с параметрами и они последовательно отрабатывают

Всего записей: 110 | Зарегистр. 23-08-2003 | Отправлено: 12:44 30-04-2009
rosalin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята,  
 несочните за наглость поделитесь плиз качественным скриптом по сбору информации об установленном ПО в сети под управлением домена.

Всего записей: 2474 | Зарегистр. 15-04-2003 | Отправлено: 14:34 26-05-2009
TCPIP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа, удалось ли кому-нибудь приспособить интерпретатор PowerShell для работы в Visual Studio (ну, кроме тупого прицепления шаблонов разумеется)? Уж больно удобно в VS пишется.
Кстати, а кто какой средой пользуется для написания PoSH-скриптов? Все-таки три года прошло, профессионалы, наверное, уже набили руку.
Спасибо.

Всего записей: 4667 | Зарегистр. 31-01-2003 | Отправлено: 02:40 06-06-2009
userpuser

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Ребята,  
 несочните за наглость поделитесь плиз качественным скриптом по сбору информации об установленном ПО в сети под управлением домена.

 
Пожалуйста, выложил, вот ссылка: http://ifolder.ru/12527971 (пароль на скач. наш стандартный).
Скрипт не мой (где-то нашёл в Инете), немного переделал под себя, сделал action для PowerGUI (юзаю его, очень нравится, для себя наделал в нем powerpackow целую кучу - бесплатно, удобно и со вкусом). Пользуйтесь на здоровье.

Всего записей: 532 | Зарегистр. 22-12-2005 | Отправлено: 07:49 08-06-2009
UserDmitry

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые коллеги!
 
Просьба подсказать, как можно в PowerShell узнать - снято или установлено наследование на папку?
 
Например, есть две папки c:\temp\1 и c:\temp\2 , для папки "1" в свойствах Security\Advanced\Permissions стоит галка напротив - Allow inheritable permissions... а у папки "2" нет. Так вот как в PowerShell проверить наличие этой галки?
 
У меня пока, только получилось увидеть, через наследование или нет установлен доступ для конкретных групп/юзеров:
 
(Get-Acl -Path "c:\temp\1").Access | Select-Object IdentityReference, FileSystemRights, IsInherited | ft -AutoSize
 
Заранее спасибо за подсказку!!!
 
Добавлено:
TCPIP
 

Цитата:
Кстати, а кто какой средой пользуется для написания PoSH-скриптов?

 
Очень понравилась - PowerGUI Script Editor - из пакета PowerGui http://www.powergui.org/index.jspa

Всего записей: 3 | Зарегистр. 08-06-2009 | Отправлено: 13:56 08-06-2009
TCPIP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
UserDmitry
Так а свойство InheritanceFlags не спасет?

Цитата:
$a = Get-Acl "c:\tmp\"
$aces =$a.access
$ace.InheritanceFlags

Вот дополнительная информация.
 
Спасибо, попробую. Я, в свое время, пробовал одну из первых версий PowerGUI - неплохая штучка, но кааак доооолго грузилась. Собственно ISE сейчас тоже медленно едет. Возможно, Aelita довела ее до совершенства. Кажется, Aelita сейчас в Quest делает PowerGUI (пара(?) человек из команды Дмитрия Сотникова). Возможно, я не прав.

Всего записей: 4667 | Зарегистр. 31-01-2003 | Отправлено: 01:22 09-06-2009
UserDmitry

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TCPIP
 

Цитата:
Так а свойство InheritanceFlags не спасет?  

 
К сожалению нет.
 
Пробуем:
 
$a = Get-Acl -Path "c:\WINDOWS"
$aces = $a.access
$aces.InheritanceFlags
 
В ответ ничего.
 
Видимо потому, что $aces - это масив из групп/пользователей, которым были даны права на папку:
 
foreach ($x in $aces) {Write-Host $x.IdentityReference $x.InheritanceFlags}
 

Цитата:
CREATOR OWNER ContainerInherit, ObjectInherit
NT AUTHORITY\SYSTEM None
NT AUTHORITY\SYSTEM ContainerInherit, ObjectInherit
BUILTIN\Administrators None
BUILTIN\Administrators ContainerInherit, ObjectInherit
BUILTIN\Users ContainerInherit, ObjectInherit
BUILTIN\Users None
BUILTIN\Power Users ContainerInherit, ObjectInherit
BUILTIN\Power Users None

 
Или, например так:
 
$aces[0]
 

Цитата:
FileSystemRights  : 268435456
AccessControlType : Allow
IdentityReference : CREATOR OWNER
IsInherited       : False
InheritanceFlags  : ContainerInherit, ObjectInherit
PropagationFlags  : InheritOnly

 
А меня интересует, как проверить что установлена или нет галка о наследование на саму папку? Есть ли возможность увидеть это свойство через PowerShell?
 
---
Постоянно пользуюсь PowerGUI Script Editor из PowerGUI и каких-то проблемм со скоростью загрузки не замечаю.

Всего записей: 3 | Зарегистр. 08-06-2009 | Отправлено: 11:15 09-06-2009
Refugee

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
UserDmitry
$a.AreAccessRulesProtected

Всего записей: 512 | Зарегистр. 31-03-2004 | Отправлено: 14:12 09-06-2009
UserDmitry

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Refugee
 
Cпасибо, очень помогли!
 
Свойство AreAccessRulesProtected - именно то что нужно (значение True говорит о том что "галка" напротив - Allow inheritable permissions... - не стоит).

Всего записей: 3 | Зарегистр. 08-06-2009 | Отправлено: 14:48 09-06-2009
TCPIP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
UserDmitry
Хм. И в правду. Я пропустил весь кусок прохода по массиву. Из $aces понятное дело возвращается массив из ACE с флагами ContainerInherit (то есть, флаг, означающий, что данная запись списка контроля доступа будет наследоваться дочерними объектами).
Значение равное ContainerInherit и означало бы, что наследование кокретного ACE для папки включено. Поправьте пожалуйста, если вру. Но конечно, это ни к чему, ибо у каждой ACE свои флаги. Тем более, если есть AreAccessRulesProtected.

Цитата:
Свойство AreAccessRulesProtected - именно то что нужно

Хм, да. Про Get-Acl | Get-Member я и не подумал.

Всего записей: 4667 | Зарегистр. 31-01-2003 | Отправлено: 02:16 10-06-2009 | Исправлено: TCPIP, 02:45 10-06-2009
Refugee

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ContainerInherit - это флажок у ACE, показывающий, что она будет наследоваться подпапкой, не имеющей AreAccessRulesProtected.

Цитата:
| Get-Member  

проще МСДН посмотреть

Всего записей: 512 | Зарегистр. 31-03-2004 | Отправлено: 02:27 10-06-2009
TCPIP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Refugee

Цитата:
проще МСДН посмотреть

В данном случае да. Хотя вот... по флагу написано следующее:

Цитата:
The ACE is inherited by child container objects

И то, лишь в разделе на немецком языке.

Цитата:
будет наследоваться подпапкой, не имеющей AreAccessRulesProtected

Точнее, AreAccessRulesProtected = FALSE, так?

Всего записей: 4667 | Зарегистр. 31-01-2003 | Отправлено: 02:40 10-06-2009 | Исправлено: TCPIP, 02:42 10-06-2009
Refugee

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я в platform SDK смотрел, в .NET разделе действительно что-то непонятное
NoPropagateInherit    Проверка прав доступа не применяется к данному объекту. Она применяется только к его дочерним объектам. // применяется, но у унаследовавших сбрасываются флаги наследования
InheritOnly    Маска доступа распространяется только на дочерние объекты. К ним относятся контейнеры и конечные дочерние объекты // но не применяется к самому объекту
 
вообще, по названиям флагов и так понятно

Цитата:
Точнее, AreAccessRulesProtected = FALSE, так?

да
если точнее, то (SECURITY_DESCRIPTOR_CONTROL) & SE_DACL_PROTECTED == 0

Всего записей: 512 | Зарегистр. 31-03-2004 | Отправлено: 03:04 10-06-2009
TCPIP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Refugee

Цитата:
я в platform SDK смотрел, в .NET разделе действительно что-то непонятное  

Хм. Разумно. Вы сразу пошли смотреть сами флаги ACE. Спасибо за наводку.
А как эти структуры выцыганить-то? Чтобы на них вживую посмотреть?

Всего записей: 4667 | Зарегистр. 31-01-2003 | Отправлено: 02:07 11-06-2009
Refugee

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TCPIP
там в другом разделе описания функций есть.
вообще это офтоп здесь.

Всего записей: 512 | Зарегистр. 31-03-2004 | Отправлено: 04:22 11-06-2009
fedich

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые, извини если пишу не в том разделе. Мне нужен совет ил толчок в нужном направлении. Я не программист, но ситуация такая:
Есть программа, которая может вызывать любое стороннее приложение (файл). Идея в том, что мне нужно вызвать на экран окошко с 2 кнопками - Да/Нет и передать результат обратно в нужную программу. Например я могу вызвать ping ya.ru и если пинг прошел  - то в программу передается 0, если нет то 1.
Ткните носом, куда смотреть для быстрого создания такой "программы"
 
Заранее Вам спасибо.

Всего записей: 64 | Зарегистр. 19-02-2003 | Отправлено: 04:06 15-06-2009
TCPIP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Refugee

Цитата:
там в другом разделе описания функций есть.  
вообще это офтоп здесь.

Ну почему же, весьма ontopic (kinda that). Кстати, вот где, например взять Windows PowerShell SDK? Как я понимаю MSFT только в последнем WinSDK?
Вот здесь написано, как скачать только PoSH SDK для PoSH 1.x. А что делать с PoSH 2? Он есть в SDK для Windows 7?
 
Добавлено:
fedich

Цитата:
но ситуация такая

Честно говоря, из вашего описания тяжеловато понять постановку задачи (не могли бы вы переформулировать как-нибудь что-ли?), но на вскидку вот статья: Ouput redirection/capturing issue with Powershell and Try-Catch and external EXE

Всего записей: 4667 | Зарегистр. 31-01-2003 | Отправлено: 23:24 15-06-2009
Joo1z



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rosalin
 

Цитата:
Ребята,  
 несочните за наглость поделитесь плиз качественным скриптом по сбору информации об установленном ПО в сети под управлением домена.

 
Я пытался сделать, но пришел к выводу, что то что у меня состряпано в CMD-файле работает эффективней.

Всего записей: 123 | Зарегистр. 17-02-2009 | Отправлено: 13:45 16-06-2009
aToVille



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Административные шаблоны Windows PowerShell можно загрузить с go.microsoft.com/fwlink/?LinkId=93675 -  но там просит проверку подленности. В инете ниче нет, все указывает на сайт майкрософт. Может есть у кого нить?

Всего записей: 42 | Зарегистр. 05-06-2008 | Отправлено: 13:20 17-06-2009 | Исправлено: aToVille, 13:21 17-06-2009
PhoenixUA



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прямая ссылка

Всего записей: 2183 | Зарегистр. 17-11-2005 | Отправлено: 16:22 17-06-2009
   

Страницы: 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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » PowerShell
KLASS (06-03-2018 00:43): Объединение тем по сценариям: Сценарии Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru