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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Функция Write-Color
Вставляется в файл "C:\Documents and Settings\Имя Пользователя\Мои документы\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"  
Вызывается  

Код:
Write-Color '<T__>Обычный текст<TYellowBlue>Желтый на голубом'

 
Всегда строка начинается у указания цвета
Цвета определяются так
<TЦветТекстаЦветФона>
Названия цветов смотреть в помощи к командлету Write-Host
Если цвет фона и(или) текста специально задавать не нужно то на этом месте ставиться _ (подчеркивание)
 
Важно!
' <TBlackBlack>'-  Первый (нечитаемый) должен быть символом из диапазона 1-31 (коды символа) или другой символ, который заведомо не будет встречаться в тексте

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:20 02-08-2007 | Исправлено: KapralBel, 13:55 04-08-2007
01MDM



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

Код:
 
$ins=Get-Wmiobject win32_OperatingSystem -Property InstallDate | findstr "InstallDate"
Write-Host $ins
 

Подозреваю что $ins надо отформатировать, в соответствии с ... Вот здесь загвоздка.  
Как правильно вывести (get-date($ins)).DayOfYear, т.е нужно узнать порядковый номер дня, и вообще метод определения дат в прошлом и будущем
 
PS>Достаточно сложно въезжать, пока остановился на profile.ps1

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 12:45 04-08-2007
KapralBel



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

Код:
$ins     = (Get-Wmiobject win32_OperatingSystem).InstallDate
$dtYear  = $ins.SubString(0,4)
$dtMonth = $ins.SubString(4,2)
$dtDay   = $ins.SubString(6,2)
$dtHour  = $ins.SubString(8,2)
$dtMin   = $ins.SubString(10,2)
$dtIns   = Get-Date -Year $dtYear -Month $dtMonth -Day $dtDay -Hour $dtHour -Minute $dtMin
"дата установки системы:"+$dtIns.DateTime
 

Обрати внимание, что в отличие от батников тут родная кодировка ANSI (1251)
 
Добавлено:
В данном случае это была строка в формате YYYYMMDDhhnnss...

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:34 04-08-2007
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
 
Большое спасибо, буду изучать код.

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 13:41 04-08-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Скрипт (версия 4.0) пересылающий по электронной почте все ошибки и предупреждения попавшие в журнал событий, за указанный интервал времени или с момента последнего запуска
get-EventLogEW.ps1
Получение справки по скрипту
get-EventLogEW.ps1 /?
Внимание! Для получения справки требуется наличие Write-Color

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:58 04-08-2007 | Исправлено: KapralBel, 13:59 04-08-2007
01MDM



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

Код:
 
get-location $env:desk
function prompt
{
    $host.ui.rawui.WindowTitle = $(get-location)  
    $random = new-object random
    $color=[System.ConsoleColor]$random.next(10,10)
    Write-Host ("#:") -nonewline -foregroundcolor $color
    return " "
}
 

Общий вопрос на примере приведенной функции.  
 
Нашел в интернете и немного изменил. Насчет конструкции более-менее понятно, читал about_assignment_operators.  
Где найти информацию об обектах wmi (get-wmiobject?), не смог, например, найти  System.ConsoleColor.
И как можно изменить

Код:
   
$color=[System.ConsoleColor]$random.next(10,10)
 

чтоб избавиться от рандом, подозреваю, что это не совсем правильно (первоначально было $random.next(1,16), т.е цвет prompt менялся в произвольном порядке из числа 16 консольных цветов) .  
Различные изыскательства на предмет записать напрямую

Код:
 
Write-Host ("#: ") -foregroundcolor green  
 

приводили к появлению стандартного приглашения.

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 20:37 05-08-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
01MDM
Тебе надо названия цветов ставить  в рандом?
названия срабатываю только в Write-host
 
А если так хочется то помести в profile.ps1
$Black=1
...
$White=16
 
Добавлено:
Можно еще так
$color=[System.ConsoleColor]::Red

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 20:51 05-08-2007
01MDM



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

Цитата:
Тебе надо названия цветов ставить  в рандом?

Нет, я хотел избавиться от $random вообще. Просто $random.next(10,10) "кривой" путь, чтобы вывести два знака зеленого цвета.

Цитата:
$color=[System.ConsoleColor]::Green

Сработало!
 
 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 21:09 05-08-2007
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Небольшая программка для чтения помощи командлетов и справок about_*
http://www.codeplex.com/ShinyPower

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:51 09-08-2007
Der Meister

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

Всего записей: 114 | Зарегистр. 06-08-2005 | Отправлено: 14:30 22-08-2007
RiNeo



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
По этому адресу обитает програмулина для удаленного использования PowerShell. Правда еще бета .

Всего записей: 26 | Зарегистр. 14-03-2006 | Отправлено: 00:55 02-09-2007
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RiNeo
Честно говоря не совсем понятна потребность в такой программе.

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 16:18 04-09-2007
Der Meister

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

Цитата:
 
New Features :
* Inline Search works also for types now !
 

 

Всего записей: 114 | Зарегистр. 06-08-2005 | Отправлено: 21:28 05-09-2007 | Исправлено: Der Meister, 21:47 05-09-2007
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Товарисчи подскажите пожалуйста, как на PowerSell реализовать такую вот конструкцию?

Код:
 
Set objSysInfo = CreateObject("ADSystemInfo")
strComputer = objSysInfo.ComputerName
Set objComputer = GetObject("LDAP://" & strComputer)
 

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 12:01 26-09-2007 | Исправлено: Etalon, 17:15 03-10-2007
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нашёл решение

Код:
 
$ADSystemInfo = new-object -COM ADSystemInfo
 
$ComputerName = [System.__ComObject].InvokeMember("ComputerName",[System.Reflection.BindingFlags]::GetProperty,$null,$ADSystemInfo,$null)
 
$Computer = [ADSI]("LDAP://" + $ComputerName)
 

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 17:11 03-10-2007 | Исправлено: Etalon, 18:18 04-10-2007
Der Meister

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PowerGUI is an extensible graphical administrative console for managing systems based on Windows PowerShell. These include Windows OS (XP, 2003, Vista), Exchange 2007, Operations Manager 2007 and other new systems from Microsoft. The tool allows to use the rich capabilities of Windows PowerShell in a familiar and intuitive GUI console.
Since build 1.0.11 with script editor.
   
The editor has all you would expect:
-Syntax highlight,  
-Intellisense for PowerShell cmdlets and cmdlet parameters,  
-Tooltips with syntax information,  
-Matching brackets, search/replace, regions,  
-Ability to export, run, print, etc.  
 
And more importantly we tried to do our best to add these goodies without sacrificing the advantages of the main PowerShell editor on the market today - Windows Notepad. The script editor:
-Is absolutely free (installs as one of the features of PowerGUI), and  
-Is very lightweight and fast.

Всего записей: 114 | Зарегистр. 06-08-2005 | Отправлено: 21:36 08-10-2007
KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Бесплатная книга по сабжу (ENG), необходима регистрация в Windows Live или Microsoft Passport Network

Всего записей: 7476 | Зарегистр. 12-10-2001 | Отправлено: 22:02 03-11-2007 | Исправлено: KLASS, 22:19 03-11-2007
varant



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прикольно, мне на днях письмо пришло от Microsoft Power Shell и наклейка

Всего записей: 1216 | Зарегистр. 20-12-2006 | Отправлено: 10:52 04-11-2007
z3r



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

Всего записей: 91 | Зарегистр. 29-03-2007 | Отправлено: 15:00 04-11-2007
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
z3r
PowerShell  для Windows Vista x64 Английский
PowerShell  для Windows Vista x64 Русский

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 10:29 06-11-2007 | Исправлено: Etalon, 12:46 06-11-2007
   

Страницы: 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-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru