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

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

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как на PowerSell реализовать такую вот конструкцию
 

Код:
 
const HKEY_LOCAL_MACHINE = &H80000002
 
strComputer = "."
Set objReg=GetObject("winmgmts:"_
    & "{impersonationLevel=impersonate}!\\" &_  
    strComputer & "\root\default:StdRegProv")
 
KeyPath = "Software\MyKey\MySubKey"
 
'Delete new key
Return = objReg.DeleteKey(HKEY_LOCAL_MACHINE, KeyPath)
If (Return = 0) And (Err.Number = 0) Then    
    Wscript.Echo _
        "HKEY_LOCAL_MACHINE\Software\MyKey\MySubKey" & _
        " successfully deleted"
Else
    Wscript.Echo "DeleteKey failed. Error = " & Err.Number
End If
 


Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 14:10 23-04-2007
KapralBel



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

Цитата:
http://download.microsoft.com/download/4/b/8/4b8e4fac-bf73-49d0-8b98-ce1f58ba26b8/Windows6.0-KB928439-x86.msu

 
А ссылка на русскую или английскую версию?
Мне нужна русская

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:03 26-04-2007
Smitis



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

Цитата:
А ссылка на русскую или английскую версию?  
Мне нужна русская

Хмм... Ты думаешь у меня хотя бы одна эта виста есть что-бы проверить?
Видимо, на английском.

----------
Разум когда-нибудь победит

Всего записей: 2500 | Зарегистр. 09-02-2003 | Отправлено: 20:57 26-04-2007
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скачать... Руссую версию Vindows PowerShell для Vindows Vista

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 08:47 27-04-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Etalon
Сенькаю - теперь исчезла единственная преграда к переходу на Висту
 
ЗЫ. Поздравляю с переходом в мемберы.
Теперь сможешь править шапку
 
 
ЗЗЫ. Взглянул в шапку - ужась - надо править в соответсвии с реалиями
 
Добавлено:
Сравнил урлики - ссылка таже самая что и у Smitis

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:00 27-04-2007
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скачать... PowershellAnalyzer RC1

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 08:56 02-05-2007
nastrip



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ссылки на "Уже подготовленный дистрибутив для Windows XP SP2  
Дистрибутив для Windows XP с русской справкой" дохлые перезалейте пожалуйста а то нужда есть а скачать никак ((

Всего записей: 76 | Зарегистр. 17-11-2006 | Отправлено: 11:42 02-05-2007
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nastrip
Ставь английскую версию, а потом МУИ.  
И всё будет.

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 12:16 02-05-2007 | Исправлено: Etalon, 12:23 02-05-2007
KapralBel



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

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:20 02-05-2007 | Исправлено: KapralBel, 12:23 02-05-2007
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вышла первая версия PowerShell Analyzer
Недорого, всего за $59

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 09:14 09-06-2007
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
   

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

Рейтинг.ru