Авторизация



Теги сайта



0х0000007b 1c access control list acl activation active directory ad roles add route adexplorer apache authentication to zabbix bare metal recovery bg zsh bicycle books bruteforce ccna centos centos packet certificate change net adapter name chap chkrootkit chmod cinnamon cisco class clipboard cmd configuring cpu cores cron crontab csc custom object cut cvsup cvsup-without-gui db dekorator dev null 2 1 dhcp dhcp reservation disable ipv6 diskpart dism django dns domain naming master domain roles download download powershell enable routing on windows enabled encapsulation english english language esx eventlog fail2ban fastest_cvsup fedora fg zsh field formatdatabase freebsd fsmo get-aduser hardware https hyper-v idioms iis inheritance iperf iptables iscsi jobs kernel panic ldap ldap аутентификация zabbix limit lingualeo linux mcitp mcsa memory check method microsoft mod_ssl mount mssql mysql mysql user password netcache network network config network load balance cluster network scripts nginx nlb num lock numlock oop openssl pap partition pdc permissions pfx php pipeline pkg_version polymorphism ports upgrade portupgrade posix powershell ppp puppet pwdlastset python rdp regedit registry remote enable restrictions reverse proxy rhel rid rope jumping bridge мост прыжок высота route add route freebsd routing protocol rpm sc sc sdset sc sdshow schema scope script output secure web security service permissions services session set dns servers set ip address sftp shell script show variables snmp sound scheme sounds speed ssh ssl standard-supfile subinacl supfile switch switchport sync syncronization task sсheduler tempdb tripplite monitoring tweaks unix user must change password at next logon utf8 vim vlan vmware w32tm web windows windows 2003 r2 windows 2008 r2 windows firewall windows server windows server 2012 windows server backup windows service permissions windows пингалка winre wsus xargs xrdp yum zabbix zabbix external check zabbix ldap authentication zsh автоматическое обновление портов freebsd автономные файлы активация английский язык база данных безопасность active directory буфер вело велосипед видео включение роутинга в windows внешняя проверка zabbix вредоносное программное обеспечение posix задание двумерного массива звуки звуковая схема идиомы иероглифы киев кодировка командная строка конфигурация сети маршрутизация маршруты в freebsd маршруты в redhat linux область обновление портов ограничения windows основные команды пакеты centos перевод перенос планировщик задач покатушки полет над днепром проблемы кодировки протокол путь развития в it разрешения служб windows регистрируем cmd скриптом недоступность хоста реестр резервирование ip скриптом роли домена русские символы синхронизация скачать скачать powershell скачать книгу скорость сети списки контроля доступа тарзанка твики фоновые процессы цикл mssql

Главная страница Microsoft POWERSHELL
Фоновые задания PowerShell Печать

Командлеты управления фоновыми задачами

Get-Job Получить фоновые задачи, которые активны в текущем сеансе
Receive-Job Получить результаты выполнения фоновых задач в текущем сеансе
Remove-Job Удаляет фоновую задачу
Start-Job Запускает задачу в фоне
Stop-Job Останавливает фоновую задачу
Wait-Job Перевод фоновой задачи на передний план, ожидая ее завершения

 

PS C:\> Start-Job -ScriptBlock {Get-Service} # Запуск командлета Get-Service в фоне. Простой и быстрый способ передать динамические параметры во внутрь скрипт-блока показан в статье http://vam.in.ua/index.php/it/25-ms-powershell/194-powershell-script-adding-roles-and-features-to-multiply-servers.html

Id	Name	PSJobTypeName	State		HasMoreData		Location	Command
--	----	-------------	-----		-----------		--------	-------
2	Job2	BackgroundJob	Running		True			localhost	Get-Servicе


PS C:\> Start-Job -FilePath D:\scriptS\script.Ps1 # Запуск скрипта script.Ps1 в фоне

Id	Name	PSJobTypeName	State		HasMoreData		Location	Command
--	----	-------------	-----		-----------		--------	-------
4	Job4	BackgroundJob	Running		True			localhost	Get-Procеss


PS C:\> Get-Job # Получить список фоновых задач и узнать их статус

Id	Name	PSJobTypeName	State		HasMoreData		Location	Command
--	----	-------------	-----		-----------		--------	-------
2	Job2	BackgroundJob	Completed	True			localhost	Get-Servicе
4	Job4	BackgroundJob	Completed	True			localhost	Get-Procеss

 

Ключ командлетов для запуска в фоне

Указав ключ -AsJob соответствующий командлет начнет выполняться в фоновом режиме.

Командлеты в PowerShell 2.0, поддерживающие ключ -AsJob :

Get-WmiObject

Invoke-Command

Invoke-WmiMethod

Remove-WmiObject

Restart-Computer

Set-WmiInstance

Stop-Computer

Test-Connection

PS C:\> Restart-Computer -ComputerName 'computer2' -AsJob

Id	Name	PSJobTypeName	State	HasMoreData		Location	Command
--	----	-------------	-----	-----------		--------	-------
6	Job6	WmiJob			Failed	False			computer2	Restart−Computer...


PS C:\> Test-Connection -ComputerName 'computer3' -AsJob # точка в столбце Location обозначает локальный хост

Id	Name	PSJobTypeName	State		HasMoreData		Location	Command
--	----	-------------	-----		-----------		--------	-------
10	Job10	WmiJob			Running		True			.			Test−Connection

 

Получение информации о результатах выполнения фоновых задач

Все фоновые задачи, у которых в столбце "HasMoreData" указано значение "True", имеют дополнительную информацию, или проще говоря свой вывод. Узнать его можно с помощью командлета Receive-Job

PS C:\> Get-Job -Id 2,6,10

Id	Name	PSJobTypeName	State		HasMoreData		Location	Command
--	----	-------------	-----		-----------		--------	-------
2	Job2	BackgroundJob	Completed	True			localhost	Get-Servicе
6	Job6	WmiJob			Failed		False			computer2	Restart...
10	Job10	WmiJob			Completed	True			.			Test...


PS C:\> Receive-Job -Id 10 # т.к. ключ -Keep не указан, вывод фоновой задачи удален из памяти

Source		Destination	IPV4Address	IPV6Address	Bytes	Time(ms)
------		-----------	-----------	-----------	-----	--------
computer5	computer3	10.0.0.103				32		0
computer5	computer3	10.0.0.103				32		0
computer5	computer3	10.0.0.103				32		1
computer5	computer3	10.0.0.103				32		0


PS C:\> Get-Job -Id 2,6,10 # после того как мы получили вывод фоновой задачи с id 10, эта информация была удалена, что можно видеть по столбцу HasMoreData. Для того чтобы дополнительная информация сохранялась, нужно использовать вместе с командлетом Receive-Job ключ -Keep

Id	Name	PSJobTypeName	State		HasMoreData		Location	Command
--	----	-------------	-----		-----------		--------	-------
2	Job2	BackgroundJob	Completed	True			localhost	Get-Servicе
6	Job6	WmiJob			Failed		False			computer2	Restart...
10	Job10	WmiJob			Completed	False			.			Test...


 
Книга Keith Hill - Effective PowerShell скачать Печать

Скачать книгу "Эффективное программирование в Windows PowerShell" можно здесь (ссылка)

 
Профили в PowerShell Печать

В профиль PowerShell можно поместить свой код (например собственные функции или настройки), который будет выполнятся при запуске PowerShell.


Где хранится профиль PowerShell?

Существует 4 вида профилей и просмотреть их местонахождение можно командой:

PS D:\> $profile | Format-List -Force

AllUsersAllHosts		: C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1
AllUsersCurrentHost		: C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShellISE_profile.ps1
CurrentUserAllHosts		: C:\Users\UserName\My Documents\WindowsPowerShell\profile.ps1
CurrentUserCurrentHost	: C:\Users\UserName\My Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
Length					: 92

 

Как создать и отредактировать профиль PowerShell?

Создание профиля

PS D:\> if (!(Test-Path $profile.AllUsersAllHosts)) {New-Item -Type file -Path $profile.AllUsersAllHosts -Force} # Все пользователи, все хосты (системный профиль)
PS D:\> if (!(Test-Path $profile.AllUsersCurrentHost)) {New-Item -Type file -Path $profile.AllUsersCurrentHost -Force} # Все пользователи, текущий хост (системный профиль)
PS D:\> if (!(Test-Path $profile.CurrentUserAllHosts)) {New-item -Type file -Path $profile.CurrentUserAllHosts -Force} # Текущий пользователь, все хосты (пользовательский профиль)
PS D:\> if (!(Test-Path $profile )) {New-Item -Type file -Path $profile -Force} # Текущий пользователь, текущий хост (пользовательский профиль)

Редактирование профиля

Изменяем профиль из Powershell_ISE

PS D:\> psEdit $profile.AllUsersAllHosts
PS D:\> psEdit $profile.CurrentUserCurrentHost # то же что и psEdit $profile

Изменяем профиль из Блокнота

PS D:\> notepad.exe $profile.AllUsersAllHosts
 
<< Первая < Предыдущая 11 12 13 14 15 16 17 18 19 20 Следующая > Последняя >>

Страница 13 из 20
Главная страница Microsoft POWERSHELL