РАЗДЕЛ
	Привилегированные переменные

КРАТКОЕ ОПИСАНИЕ
	Переменные, которые настраивают поведение Windows PowerShell 

ПОЛНОЕ ОПИСАНИЕ
	Оболочка Windows PowerShell включает в себя набор переменных, 
	позволяющих настроить ее поведение. Привилегированные переменные 
	действуют как параметры в системах с графическим интерфейсом.

	Привилегированные переменные влияют на рабочую среду Windows 
	PowerShell и на все запускаемые в среде команды. Во многих 
	случаях у командлетов есть параметры, позволяющие переопределить 
	поведение, заданное привилегированными переменными, для 
	конкретной команды.

	В следующей таблице перечислены привилегированные переменные и их 
	значения по умолчанию.

	Переменная						 Значение по умолчанию
	--------							 -------------
	$ConfirmPreference				 High
	$DebugPreference					 SilentlyContinue
	$ErrorActionPreference			 Continue
	$ErrorView						 NormalView
	$FormatEnumerationLimit			4
	$LogCommandHealthEvent			 False (запись в журнал не производится)
	$LogCommandLifecycleEvent			False (запись в журнал не производится)
	$LogEngineHealthEvent				True (производится запись в журнал)
	$LogEngineLifecycleEvent			 True (производится запись в журнал)
	$LogProviderLifecycleEvent		 True (производится запись в журнал)
	$LogProviderHealthEvent			True (производится запись в журнал)
	$MaximumAliasCount				 4096
	$MaximumDriveCount				 4096
	$MaximumErrorCount				 256
	$MaximumFunctionCount				4096
	$MaximumHistoryCount				 64
	$MaximumVariableCount				4096
	$OFS								 (Пробел (" "))
	$OutputEncoding					ASCIIEncoding object
	$ProgressPreference				Continue
	$PSEmailServer					 (Нет)
	$PSSessionApplicationName			WSMAN
	$PSSessionConfigurationName		http://schemas.microsoft.com/powershell/microsoft.powershell 
	$PSSessionOption					 (См.далее)
	$VerbosePreference				 SilentlyContinue
	$WarningPreference				 Continue
	$WhatIfPreference					0


	Windows PowerShell также включает в себя следующие переменные 
	среды, в которых хранятся настройки пользователя. Дополнительные 
	сведения о переменных среды см. в разделе about_environment_variables.

	Переменная										 
	--------						 
	PSModulePath					

РАБОТА С ПРИВИЛЕГИРОВАННЫМИ ПЕРЕМЕННЫМИ
	Этот документ описывает каждую из привилегированных переменных.

	Чтобы вывести на дисплей текущее значение определенной 
	привилегированной переменной, введите имя переменной. В ответ 
	Windows PowerShell выдаст значение. Например, следующая команда 
	отображает значение переменной $ConfirmPreference.

		PS> $ConfirmPreference
		High

	Чтобы изменить значение переменной, используйте инструкцию 
	назначения. Например, следующая инструкция присваивает значение 
	"Medium" переменной $ConfirmPreference.

		PS> $ConfirmPreference = "Medium"

	Как и все переменные, заданные значения специфичны для текущего 
	окна Windows PowerShell. Чтобы они действовали во всех окнах 
	Windows PowerShell, их следует добавить в профиль Windows 
	PowerShell. Дополнительные сведения см. в разделе about_profiles.


УДАЛЕННАЯ РАБОТА
   При запуске команд на удаленном компьютере удаленные команды 
   подвержены только настройкам, заданным в клиенте Windows 
   PowerShell на этом удаленном компьютере. Например, при запуске 
   удаленной команды значение переменной $DebugPreference на 
   удаленном компьютере определяет, как Windows PowerShell отвечает 
   на сообщения отладки. 

   Дополнительные сведения об удаленных командах см. в разделе about_remote.



$ConfirmPreference
------------------
	Определяет, какие действия командлета автоматически запрашивают 
	подтверждение у пользователя перед выполнением. 
	
	Когда значение $ConfirmPreference (High, Medium, Low, None) 
	больше или равно риску выполнения действия командлета (High, 
	Medium, Low, None), Windows PowerShell автоматически запрашивает 
	подтверждение у пользователя перед выполнением действия. 

	Можно использовать параметр Confirm командлета, чтобы 
	переопределить эту настройку для определенной команды.

		Допустимые значения:
				None.	 Никакие действия командлета не требуют подтверждения 
							автоматически. Пользователям следует использовать параметр Confirm, 
							чтобы запрос подтверждения выполнялся для конкретных команд.

				Low.		Действия командлета с низким, средним или высоким риском 
							автоматически требуют подтверждения. Чтобы отменить подтверждение 
							конкретной команды, используйте параметр -Confirm:$false.

				Medium.	 Действия командлета со средним или высоким риском автоматически 
							требуют подтверждения. Чтобы включить подтверждение для конкретной 
							команды, используйте параметр -confirm. Чтобы отменить подтверждение 
							конкретной команды, используйте значение confirm:$false.

				High.	 Действия командлета с высоким риском автоматически 
		 (по умолчанию)   требуют подтверждения. Чтобы включить подтверждение для конкретной 
							команды, используйте параметр -confirm. Чтобы отменить подтверждение 
							для конкретной команды, используйте значение -confirm:$false.


	ПОДРОБНОЕ ОБЪЯСНЕНИЕ
		Когда действие, выполняемое командлетом, значительно влияет 
		на систему, например оно удаляет данные или использует 
		большой объем ресурсов системы, Windows PowerShell может 
		автоматически запросить подтверждение перед выполнением действия. 

		Пример:

			PS> remove-item pref2.txt

			Подтверждение
			Выполнить это действие?
			Выполнение операции "Удаление файла" над целевым объектом 
			"C:\pref2.txt".
			[Y] Да [A] Да для всех [N] Нет [L] Нет для всех [S] Приостановить 
			[?] Справка (по умолчанию "Y"):

		Оценка риска является частью командлета, это его аспект 
		"ConfirmImpact". Ее нельзя изменить.

		Командлет, который может представлять угрозу системе, имеет 
		параметр Confirm, который можно использовать для включения 
		или отключения подтверждения для конкретной команды.

		Так как большинство командлетов имеют по умолчанию показатель риска 
		"Medium", а переменная $ConfirmPreference имеет по умолчанию 
		значение "High", автоматический запрос подтверждения происходит 
		редко. Однако можно активировать автоматический запрос 
		подтверждения, изменив значение переменной $ConfirmPreference на 
		"Medium" или "Low". 

	ПРИМЕРЫ
	Этот пример показывает, что произойдет, если для переменной 
	$ConfirmPreference задано значение по умолчанию. Значение High 
	требует подтверждения только для действий командлетов с высоким 
	риском. Так как большинство действий имеют средний уровень 
	риска, они не требуют подтверждения автоматически, хотя можно 
	использовать параметр Confirm командлета, чтобы включить 
	подтверждение определенной команды.

		PS> $confirmpreference			#Получение текущего значения переменной 
		High  
	
		PS> remove-item temp1.txt		 #Удалить файл
		PS> 							 #Удалено без подтверждения 
		PS> remove-item temp2.txt -confirm  #Используется параметр 

		Confirm
		Подтверждение Выполнить это действие?
		Выполнение операции "Удаление файла" над целевым объектом 
		"C:\temp2.txt".
		[Y] Да [A] Да для всех [N] Нет [L] Нет для всех [S] Приостановить 
		[?] Справка (по умолчанию "Y"):


	 Этот пример показывает результат изменения значения переменной 
	 $ConfirmPrefernce на Medium. Так как большинство действий 
	 командлетов имеют средний уровень риска, для них автоматически 
	 требуется подтверждение. Чтобы отключить запрос подтверждения 
	 для конкретной команды, следует использовать параметр Confirm 
	 со значением $false.

		
		PS> $confirmpreference = "Medium" 
									 #Изменение значение переменной 
									 $ConfirmPreference 
		PS> remove-item temp2.txt
									 #Удаление файла вызывает запрос 
									 подтверждения 
		Подтверждение
		Выполнить это действие?
		Выполнение операции "Удаление файла" над целевым объектом 
		"C:\temp2.txt".
		[Y] Да [A] Да для всех [N] Нет [L] Нет для всех [S] Приостановить 
		[?] Справка (по умолчанию "Y"):
	

		PS> remove-item temp3.txt -confirm:$false  #Используется параметр Confirm для 
													отключения запроса подтверждения 
		PS>

$DebugPreference
------------------
		Определяет, как Windows PowerShell отвечает на сообщения отладки, 
		созданные скриптом, командлетом или поставщиком, либо командой 
		Write-Debug в командной строке. 

		Некоторые командлеты отображают сообщения отладки, которые 
		обычно являются сугубо техническими сообщениями для 
		программистов и специалистов технической поддержки. По 
		умолчанию сообщения отладки не отображаются, но можно 
		настроить отображение сообщений отладки, изменив значение 
		переменной $DebugPreference.
	
		Также можно использовать общий параметр Debug командлета, 
		чтобы отображать или скрывать сообщения отладки для 
		конкретной команды. Чтобы получить дополнительные сведения, 
		введите команду "get-help about_commonparameters".

		Допустимые значения:
			Stop.			 Отображается сообщение отладки и 
								выполнение прекращается. Ошибка записывается на консоль.

			Inquire.			Выводится сообщение отладки и 
								запрос на продолжение.

			Continue.		 Отображается сообщение отладки, 
								выполнение продолжается.

			SilentlyContinue.   Результат не заметен. Сообщение отладки 
			(по умолчанию)	не отображается, выполнение продолжается без остановки.
			 

	ПРИМЕРЫ

	Следующие примеры показывают результат изменения значений переменной 
	$DebugPreference, когда команда Write-Debug вводится в командной 
	строке. Изменение касается всех сообщений отладки, включая сообщения, 
	созданные командлетами и скриптами. Примеры также демонстрируют 
	использование общего параметра Debug, который позволяет отобразить 
	или скрыть сообщения отладки, связанные с определенной командой.

	Этот пример показывает, что произойдет, если задано значение по 
	умолчанию "SilentlyContinue". Сообщение отладки не отображается, 
	работа продолжается. В последней команде используется параметр 
	Debug, чтобы переопределить настройку для конкретной команды.

		PS> $debugpreference					#Получение текущего значения
		SilentlyContinue						$DebugPreference

		PS> write-debug "Hello, World"
		PS> 								 # Сообщение отладки не отображается.

		PS> write-debug "Hello, World" -Debug   # Используется параметр Debug
		ОТЛАДКА: Hello, World				 # Запрашивается 

		сообщение отладки
		Подтверждение Продолжить выполнение текущей операции?
		[Y] Да [A] Да для всех [H] Прервать команду [S] Приостановить 
		[?] Справка (по умолчанию "Y"):

   
	Этот пример показывает, что произойдет, если задано значение 
	"Continue". В последней команде используется параметр Debug со 
	значением $false, чтобы скрыть сообщение для конкретной команды.

		PS> $debugpreference = "Continue"  # Значение изменяется на "Continue"

		PS> write-debug "Hello, World"
		ОТЛАДКА: Hello, World			# Сообщение отладки отображается, работа продолжается.
		PS>


		PS> write-debug "Hello, World" -Debug:$false  
										 # Используется параметр Debug со значением false.
		PS> 							# Сообщение отладки не отображается.

	
	Этот пример показывает, что произойдет, если задано значение 
	"Stop". В последней команде используется параметр Debug со 
	значением $false, чтобы скрыть сообщение для конкретной команды.

		PS> $debugpreference = "Stop"	# Значение изменяется на "Stop"
		PS> write-debug "Hello, World"
		ОТЛАДКА: Hello, World
		Write-Debug : Выполнение команды остановлено, так как переменной оболочки "DebugPreference" 
		присвоено значение Stop.
		В строке:1 знак:12
		+ write-debug <<<< "Hello, World"

		PS> write-debug "Hello, World" -Debug:$false  
										 # Используется параметр Debug со значением $false
		PS> 						 # Сообщение отладки не отображается, 
											 выполнение не останавливается.


	Этот пример показывает, что произойдет, если задано значение 
	"Inquire". В последней команде используется параметр Debug со 
	значением $false, чтобы скрыть сообщение для конкретной команды.

		PS> $debugpreference = "Inquire"
		PS> write-debug "Hello, World"
		ОТЛАДКА: Hello, World

		Подтверждение
		Продолжить выполнение текущей операции?
		[Y] Да [A] Да для всех [H] Прервать команду [S] Приостановить 
		[?] Справка (по умолчанию "Y"):

		PS> write-debug "Hello, World" -Debug:$false  
											# Используется параметр Debug со значением 
											$false
		PS> 						# Сообщение отладки не отображается, 
											выполнение продолжается без остановки.


$ErrorActionPreference
----------------------
		Определяет, как Windows PowerShell отвечает на непрерывающую ошибку 
		(ошибка, которая не останавливает обработку командлета) в командной 
		строке или в скрипте, командлете или поставщике (например, на ошибки, 
		сгенерированные командлетом Write-Error). 

		Также можно использовать общий параметр ErrorAction 
		командлета, чтобы переопределить эту настройку для 
		определенной команды. Чтобы получить дополнительные сведения, 
		введите команду "get-help about_commonparameters".


		Допустимые значения:
			Stop.			 Отображается сообщение об ошибке, выполнение прекращается. 

			Inquire.			Выводится сообщение об ошибке и запрос на продолжение.

			Continue.		 Отображается сообщение об ошибке, выполнение продолжается.

			SilentlyContinue.   Результат не заметен. Сообщение об ошибке 
			(по умолчанию)	не отображается, выполнение продолжается без остановки.


	 Ни переменная $ErrorActionPreference, ни общий параметр 
	 ErrorAction не влияют на то, как Windows PowerShell отвечает 
	 на прерывающие ошибки (ошибки, останавливающие обработку 
	 командлета).

	 Чтобы получить дополнительные сведения об общем параметре 
	 ErrorAction, введите команду "get-help about_commonparameters".


	ПРИМЕРЫ

	Данные примеры показывают, что происходит при различных значениях 
	переменной $ErrorActionPreference и использовании общего 
	параметра ErrorAction для переопределения настройки для 
	конкретной команды. Для параметра ErrorAction допустимы те же 
	значения, что и для переменной $ErrorActionPreference.

	Этот пример показывает, что произойдет, если задано значение по 
	умолчанию "Continue".

		PS> $erroractionpreference				
		Continue				# Отображается значение привилегированной переменной.   
						 
		PS> write-error "Hello, World"			
								# Генерируется непрерывающая ошибка.

		write-error "Hello, World" : Hello, World	
								# Отображается сообщение об ошибке и продолжается выполнение.

		PS> write-error "Hello, World" -ErrorAction:SilentlyContinue
								# Используется параметр ErrorAction со значением "SilentlyContinue".
		PS> 										 
								# Сообщение об ошибке не отображается, выполнение продолжается.

	Этот пример показывает, что произойдет, если задано значение "SilentlyContinue".

		PS> $ErrorActionPreference = "SilentlyContinue"
								# Изменение значения привилегированной переменной.
		PS> write-error "Hello, World"			
								# Генерируется сообщение об ошибке.
		PS> 				 
								# Сообщение об ошибке не выводится.
		PS> write-error "Hello, World" -erroraction:continue
								# Используется параметр ErrorAction со значением "Continue".
		write-error "Hello, World" -erroraction:continue : Hello, World 
								# Выводится сообщение об ошибке и выполнение продолжается.

	 
	Этот пример показывает результат реальной ошибки. В данном случае 
	команда запрашивает несуществующий файл nofile.txt. В примере 
	также используется общий параметр ErrorAction для переопределения 
	настройки.

		PS> $erroractionpreference				
		SilentlyContinue		# Отображается значение привилегированной переменной.   

		PS> get-childitem -path nofile.txt
		PS> 				 # Сообщение об ошибке не выводится.

		PS> $ErrorActionPreference = "Continue" 
								# Значение изменяется на "Continue".

		PS> get-childitem -path nofile.txt
		Get-ChildItem : Не удается найти путь "C:\nofile.txt", так как он не существует.
		В строке:1 знак:4
		+ get-childitem <<<< nofile.txt

		PS> get-childitem -path nofile.txt -erroraction SilentlyContinue
								# Используется параметр ErrorAction 

								# Сообщение об ошибке не выводится.
  
		PS> $ErrorActionPreference = "Inquire"	
								# Значение изменяется на "Inquire".
		PS> get-childitem -path nofile.txt

		Подтверждение
		Не удается найти путь "C:\nofile.txt", так как он не существует.
		[Y] Да [A] Да для всех [H] Прервать команду [S] Приостановить 
		[?] Справка (по умолчанию "Y"): y 
		Get-ChildItem : Не удается найти путь "C:\nofile.txt", так как он не существует.
		В строке:1 знак:4
		+ get-childitem <<<< nofile.txt

		PS> $ErrorActionPreference = "Continue"			
								# Значение изменяется на "Continue".
		PS> Get-Childitem nofile.txt -erroraction "Inquire"   
								# Используется параметр ErrorAction для переопределения значения.

		Подтверждение
		Не удается найти путь "C:\nofile.txt", так как он не существует.
		[Y] Да [A] Да для всех [H] Прервать команду [S] Приостановить [?] Справка (по умолчанию "Y"):


$ErrorView
----------
		Определяет формат отображения сообщений об ошибках в Windows 
		PowerShell. 

		Допустимые значения:
			NormalView.		 Отображаются подробные сведения. 
			(по умолчанию)	Подходит для большинства пользователей. 
								Включает описание ошибки, имя объекта, 
								с которым связана ошибка, и стрелки (<<<<), 
								указывающие на слова команды, вызвавшие ошибку.

			CategoryView.	 Отображаются краткие структурированные сведения. 
								Формат подходит для рабочих сред. 
								Формат:{категория}: ({имя_целевого_объекта}:
								{тип_целевого_объекта}):[{действие}], {причина}

		Дополнительные сведения о полях формата CategoryView см. в 
		разделе "Класс ErrorCategoryInfo" документации Windows PowerShell SDK.
	
	ПРИМЕРЫ

	Данные примеры показывают влияние различных значений переменной 
	$ErrorView.

	Этот пример показывает, как отображается ошибка, если переменная 
	$ErrorView имеет значение NormalView. В данном случае команда 
	Get-ChildItem запрашивает несуществующий файл.

		PS> $ErrorView						 # Проверка значения.
		NormalView

		PS> get-childitem nofile.txt		 # Поиск 
		несуществующего файла.
		Get-ChildItem : Не удается найти путь "C:\nofile.txt", так как он не существует.
		В строке:1 знак:14
		+ get-childitem <<<< nofile.txt

	Этот пример показывает, как та же ошибка отображается, если 
	переменная $ErrorView имеет значение CategoryView.

		PS> $ErrorView = "CategoryView"		# Значение изменяется 
												 CategoryView

		PS> get-childitem nofile.txt
		ObjectNotFound: (C:\nofile.txt:String) [Get-ChildItem], ItemNotFoundException

 
   Этот пример показывает, что значение переменой $ErrorView влияет 
   только на отображение ошибки; структура объекта ошибки, который 
   хранится в автоматической переменной $error, не меняется. 
   Дополнительные сведения об автоматической переменной $error см. в 
   разделе about_automatic_variables.

   Эта команда извлекает объект ErrorRecord, связанный с последней 
   ошибкой в массиве ошибок (элемент 0), и приводит все свойства 
   объекта ошибки к формату списка.
		 
		PS> $error[0] | format-list -property * -force

		Exception  : System.Management.Automation.ItemNotFoundException: Не удается найти путь 
					 "C:\nofile.txt", так как он не существует. 
					 at System.Management.Automation.SessionStateInternal.GetChildItems(Stringpath, 
					 Boolean recurse, CmdletProviderContext context) 
					 at System.Management.Automation.ChildItemCmdletProviderIntrinsics.Get(String path, 
					 Boolean recurse, CmdletProviderContext context) 
					 at Microsoft.PowerShell.Commands.GetChildItemCommand.ProcessRecord() : 
		TargetObject		: C:\nofile.txt
		CategoryInfo		: ObjectNotFound: (C:\nofile.txt:String) [Get-ChildItem],
								ItemNotFoundException
		FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
		ErrorDetails		:
		InvocationInfo		: System.Management.Automation.InvocationInfo


$FormatEnumerationLimit
-----------------------
		Определяет, сколько элементов перечисления отображается. Эта 
		переменная не влияет на сами объекты, только на то, как они 
		отображаются.Когда значение переменной $FormatEnumerationLimit  
		меньше, чем число элементов перечисления, Windows PowerShell  
		добавляет многоточие (...) для обозначения неотображенных элементов.

		Допустимые значения: целые числа (Int32)
		Значение по умолчанию: 4

	ПРИМЕРЫ

		Этот пример показывает, как использовать переменную 
		$FormatEnumerationLimit, чтобы улучшить отображение 
		перечисляемых элементов. 

		В этом примере команда создает таблицу, где все запущенные на 
		компьютере службы перечислены в виде двух групп, в одну 
		группу входят выполняющиеся службы, во вторую - 
		остановленные. Команда Get-Service используется для получения 
		всех служб и последующей передачи результатов по конвейеру в 
		командлет Group-Object, который группирует результаты, 
		основываясь на состоянии службы. 

		В результате выводится таблица, где состояния перечислены в 
		столбце Name, а соответствующие процессы - в столбце Group. 
		(Чтобы изменить названия столбцов, воспользуйтесь 
		хэш-таблицей. Чтобы получить дополнительные сведения, введите 
		команду "get-help format-table -examples" и изучите примеры.) 

		Для каждого состояния отображается максимум 4 службы в 
		столбце Group. Чтобы увеличить число перечисленных элементов, 
		увеличьте значение переменной $FormatEnumerationLimit до 1000.

		В результате список в столбце Group будет ограничен длиной 
		строки. В последней команде примера используется параметр 
		Wrap командлета Format-Table для отображения всех процессов в 
		каждой группе состояния.
		 

		PS> $formatenumerationlimit		 # Поиск текущего значения
		4
	
		PS> get-service | group-object -property status		 
											# Перечисляются все службы, сгруппированные 
											по состоянию

		Count Name					Group
		----- ----					-----
		 60 Running				 {AdtAgent, ALG, Ati HotKey Poller, AudioSrv...}   
		 41 Stopped				 {Alerter, AppMgmt, aspnet_state, ATI Smart...}

										 # Список усекается после 
											 4-го элемента.


		PS> $formatenumerationlimit = 1000
										 # Предел увеличивается до 1000.
	
		PS> get-service | group-object -property status		 
										 # Команда повторяется.

		Count Name   Group
		----- ----   -----
		 60 Running {AdtAgent, ALG, Ati HotKey Poller, AudioSrv, BITS, CcmExec...
		 41 Stopped {Alerter, AppMgmt, aspnet_state, ATI Smart, Browser, CiSvc...


		PS> get-service | group-object -property status | format-table -wrap
										 # Добавляется параметр Wrap.

		Count Name	 Group
		----- ----	 -----
		 60 Running	{AdtAgent, ALG, Ati HotKey Poller, AudioSrv, BITS, CcmExec, Client
						 for NFS, CryptSvc, DcomLaunch, Dhcp, dmserver, Dnscache, ERSvc,   
						 Eventlog, EventSystem, FwcAgent, helpsvc, HidServ, IISADMIN, 
						 InoRPC, InoRT, InoTask, lanmanserver, lanmanworkstation, LmHosts, 
						 MDM, Netlogon, Netman, Nla, NtLmSsp, PlugPlay, PolicyAgent,   
						 ProtectedStorage, RasMan, RemoteRegistry, RpcSs, SamSs, Schedule,
						 seclogon, SENS, SharedAccess, ShellHWDetection, SMT PSVC, Spooler, 
						 srservice, SSDPSRV, stisvc, TapiSrv, TermService, Themes, TrkWks,
						 UMWdf, W32Time, W3SVC, WebClient, winmgmt, wscsvc, wuauserv,
						 WZCSVC, zzInterix}

		 41 Stopped	{Alerter, AppMgmt, aspnet_state, ATI Smart, Browser, CiSvc,
						 ClipSrv, clr_optimization_v2.0.50727_32, COMSysApp, CronService, 
						 dmadmin, FastUserSwitchingCompatibility, HTTPFilter, ImapiService,
						 Mapsvc, Messenger, mnmsrvc, MSDTC, MSIServer, msvsmon80, NetDDE, 
						 NetDDEdsdm, NtmsSvc, NVSvc, ose, RasAuto, RDSessMgr, RemoteAccess, 
						 RpcLocator, RSVP, SCardSvr, SwPrv, SysmonLog, TlntSvr, upnphost, 
						 UPS, VSS, WmdmPmSN, Wmi, WmiApSrv, xmlprov}


$Log*Event
----------
		Привилегированные переменные $Log*Event определяют, какие 
		типы событий записываются в журнал событий Windows PowerShell 
		в средстве просмотра событий. По умолчанию в журнал 
		записываются только события обработчика и события поставщика, 
		но при помощи привилегированных переменных Log*Event можно 
		настроить запись в журнал, например, чтобы записывались 
		события, связанные с командами.   

		Привилегированные переменные $Log*Event:

			$LogCommandHealthEvent. Позволяет записывать в журнал 
				ошибки и исключения, связанные с инициализацией и 
				обработкой команд. Значение по умолчанию = $false (запись 
				в журнал не производится).

			$LogCommandLifecycleEvent. 
				Задает запись в журнал запуска и остановки команд и 
				командных конвейеров, а также исключений безопасности 
				при обнаружении команд. Значение по умолчанию = 
				$false (запись в журнал не производится).

			$LogEngineHealthEvent. Задает запись в журнал ошибок и сбоев сеансов. 
				Значение по умолчанию = $true (запись в журнал производится).

			$LogEngineLifecycleEvent. Задает запись в журнал открытия 
				и закрытия сеансов. Значение по 
				умолчанию = $true (запись в журнал производится).

			$LogProviderHealthEvent. Задает запись в журнал ошибок 
				поставщика, например ошибок чтения и записи, ошибок 
				поиска и ошибок вызова. Значение по умолчанию = $true 
				(запись в журнал производится).

			$LogProviderLifecycleEvent. Задает запись в журнал 
				добавления и удаления поставщиков Windows PowerShell.
				Значение по умолчанию = $true (запись в журнал 
				производится). Чтобы получить сведения о поставщиках 
				Windows PowerShell, введите следующую команду:
				"get-help about_provider".


		Чтобы включить Log*Event, введите переменную со значением 
		$true, например:

			$LogCommandLifeCycleEvent

			- или:

			$LogCommandLifeCycleEvent = $true


		Чтобы отключить тип событий, введите переменную со значением 
		$false, например:

			$LogCommandLifeCycleEvent = $false

		События включаются только для текущей консоли Windows 
		PowerShell. Чтобы применить конфигурацию ко всем консолям, 
		сохраните параметры переменных в профиле Windows PowerShell.


$MaximumAliasCount
------------------
		Определяет допустимое число псевдонимов в сеансе Windows 
		PowerShell. В большинстве случаев достаточно числа по 
		умолчанию, 4096, но при необходимости можно его изменить.

		Допустимые значения: 1024 - 32768 (Int32)
		Значение по умолчанию: 4096

		Чтобы посчитать число псевдонимов в системе, введите 
		следующую команду: 

				(get-alias).count

$MaximumDriveCount
------------------
		Определяет допустимое число дисков Windows PowerShell в 
		определенном сеансе. Это число включает в себя диски файловой 
		системы и хранилища данных, предоставленные поставщиками 
		Windows PowerShell и отображаемые как диски, например диски 
		Alias: и HKLM:.

		Допустимые значения: 1024 - 32768 (Int32)
		Значение по умолчанию: 4096

		Чтобы посчитать число дисков Psdrive в системе, введите 
		следующую команду: 

				(get-psdrive).count



$MaximumErrorCount
------------------
		Определяет, сколько ошибок сохраняется в журнале ошибок для сеанса. 

		Допустимые значения: 256 - 32768 (Int32)
		Значение по умолчанию: 256

		Объекты, представляющие сохраняемые ошибки, хранятся в 
		автоматической переменной $Error. Эта переменная содержит 
		массив объектов записей об ошибках, один объект на каждую 
		ошибку. Последняя ошибка - первый объект массива ($Error[0]).

		Чтобы посчитать ошибки в системе, используйте свойство Count 
		массива $Error. Введите следующую команду:
			
				$Error.count

		Чтобы отобразить конкретную ошибку, используйте систему 
		индексов массива. Например, чтобы отобразить последнюю 
		ошибку, введите следующую команду:

				$Error[0]

		Чтобы отобразить самую старую сохраненную ошибку, введите 
		следующую команду:

				$Error[($Error.Count -1]

		Чтобы отобразить свойства объекта ErrorRecord, введите 
		следующую команду:

				$Error[0] | format-list -property * -force

		В данной команде параметр Force переопределяет специальное 
		форматирование объектов ErrorRecord и задает традиционный формат.

		Чтобы удалить все объекты из журнала ошибок, используйте 
		метод Clear массива ошибок.

			 PS> $Error.count
			 17
			 PS> $Error.clear()
			 PS>
			 PS> $Error.count
			 0

	 Чтобы получить все свойства и методы массива ошибок, используйте 
	 командлет Get-Member с параметром InputObject. При передаче
	 коллекции объектов по конвейеру командлету Get-Member, Get-Member 
	 отображает свойства и методы объектов коллекции. При использовании 
	 параметра InputObject командлета Get-Member, командлет Get-Member 
	 отображает свойства и методы коллекции.


$MaximumFunctionCount
------------------
		Определяет допустимое число функций в определенном сеансе. 

		Допустимые значения: 1024 - 32768 (Int32)
		Значение по умолчанию: 4096

		Чтобы отобразить функции сеанса, используйте диск Function: 
		Windows PowerShell, предоставляемый поставщиком Function 
		Windows PowerShell. (Чтобы получить дополнительные сведения о 
		поставщике Function, введите команду "get-help function".)

		Чтобы вывести функции текущего сеанса, введите следующую команду:

			get-childitem function:

		Чтобы посчитать функции текущего сеанса, введите следующую команду:

			(get-childitem function:).count


$MaximumHistoryCount
------------------
		Определяет, сколько команд сохраняется в журнале команд для 
		текущего сеанса. 

		Допустимые значения: 1 - 32768 (Int32)
		Значение по умолчанию: 64

		Чтобы узнать число команд, сохраненных в текущий момент в 
		журнале команд, введите строку:
 
			(get-history).count

		Чтобы отобразить команду, сохраненную в журнале сеанса, 
		используйте командлет Get-History. Чтобы получить 
		дополнительные сведения, введите команду "get-help about_history".



$MaximumVariableCount
------------------
		Определяет допустимое число переменных в определенном сеансе, 
		включая автоматические переменные, привилегированные 
		переменные и переменные, создаваемые в командах и скриптах. 

		Допустимые значения: 1024 - 32768 (Int32)
		Значение по умолчанию: 4096

		Чтобы отобразить переменные сеанса, используйте командлет 
		Get-Variable, возможности диска Variable: Windows PowerShell 
		и поставщика Variable Windows PowerShell. Чтобы получить 
		сведения о поставщике Variable, введите команду "get-help 
		variable".

		Чтобы узнать текущее число переменных в системе, введите 
		следующую команду:

			(get-variable).count



$OFS
----
		Output Field Separator. Задает знак, разделяющий элементы 
		массива при преобразовании массива в строку. 

		Допустимые значения: любая строка.
		Значение по умолчанию: пробел

		По умолчанию переменная $OFS не существует и знаком-разделител
		ем для выходных файлов является пробел, но пользователь может 
		добавить эту переменную и присвоить ей в качестве значения 
		любую строку.

	ПРИМЕРЫ

	Этот пример показывает, что при преобразовании массива в строку 
	для разделения значений используется пробел. В данном случае 
	массив целых чисел сохраняется в переменной, а затем переменная 
	приводится к типу string.

	 PS> $array = 1,2,3				 # Сохраняется массив целых чисел.	 

	 PS> [string]$array				 # Массив приводится к типу string.
	 1 2 3							# Элементы разделяются пробелами


	Чтобы изменить разделитель, добавьте переменную $OFS, назначив ей 
	значение. Для корректной работы переменная должна называться $OFS. 

	 PS> $OFS = "+"					 # Создается переменная $OFS, ей присваивается значение "+"

	 PS> [string]$array				 # Команда повторяется
	 1+2+3							# Элементы разделяются знаками плюс


	Чтобы восстановить поведение по умолчанию, можно присвоить пробел 
	(" ") в качестве значения переменной $OFS или удалить переменную. 
	Следующая команда удаляет переменную, затем выполняется проверка, 
	что разделителем является пробел.
	
	 PS> Remove-Variable OFS			# Удаление переменной $OFS
	 PS>

	 PS> [string]$array				 # Команда повторяется
	 1 2 3							# Элементы разделяются пробелами 

$OutputEncoding
---------------
	 Определяет метод кодировки, который использует Windows 
	 PowerShell при отправке текста другим приложениям. Например, 
	 если какое-либо приложение возвращает в Windows PowerShell 
	 строки в кодировке Unicode, может потребоваться соответственно 
	 изменить значение переменной для корректной отправки символов.

		Допустимые значения: объекты, унаследованные от класса кодировки, 
							 например ASCIIEncoding, SBCSCodePageEncoding, 
							 UTF7Encoding, UTF8Encoding, UTF32Encoding 
							 и UnicodeEncoding.

		Значение по умолчанию: объект ASCIIEncoding (System.Text.ASCIIEncoding)

	ПРИМЕРЫ

	 Этот пример показывает, как настроить работу команды FINDSTR в 
	 Windows PowerShell на компьютере, локализованном для языка с 
	 символами Unicode, например китайского. 

	 Первая команда находит значение переменной $OutputEncoding. 
	 Так как значение является объектом кодировки, отображается 
	 только его свойство EncodingName.
		 
		PS> $OutputEncoding.EncodingName # Поиск текущего значения
		US-ASCII

	 В этом примере команда FINDSTR используется для поиска 
	 нескольких китайских символов, которые присутствуют в файле 
	 Test.txt. Когда команда FINDSTR запускается в командной строке 
	 Windows (Cmd.exe), она находит символы в текстовом файле. 
	 Однако при запуске той же команды FINDSTR в Windows PowerShell 
	 символы не удается найти, так как Windows PowerShell 
	 отправляет их команде FINDSTR как текст в кодировке ASCII 
	 вместо кодировки Unicode.

		PS> findstr <символы_Unicode> # Команда findstr используется для поиска.
		PS> 					 # Ничего не найдено.

	
	 Чтобы настроить работу этой команды в Windows PowerShell, 
	 присвойте переменной $OutputEncoding значение свойства 
	 OutputEncoding консоли, которое основывается на выбранной для 
	 Windows локали. Так как свойство OutputEncoding является 
	 статическим свойством консоли, следует использовать двойное 
	 двоеточие в команде (::).

		PS> $OutputEncoding = [console]::outputencoding
		PS> 						 # Присваивается значение, равное значению
											свойства OutputEncoding консоли.
		PS> $OutputEncoding.EncodingName			 
		Cyrillic (DOS)
											# Получение результирующего значения.
	 
	 В результате изменения команда FINDSTR сможет найти символы.

		PS> findstr <символы_Unicode> 		 
		test.txt:		 <символы_Unicode> 

										# Команда findstr используется для поиска и находит
										символы в текстовом файле.



$ProgressPreference
-------------------
		Определяет, как Windows PowerShell реагирует на обновления 
		состояния, созданные скриптом, командлетом или поставщиком, например 
		на индикаторы выполнения, созданные командлетом Write-Progress. 
		Командлет Write-Progress создает индикаторы выполнения, отображающие 
		состояние команды.

		Допустимые значения:
			Stop.			 Индикатор выполнения не отображается. 
								Вместо этого отображается сообщение 
								об ошибке и выполнение прекращается.

			Inquire.			Индикатор выполнения не отображается. 
								Запрашивается разрешение на продолжение. 
								В случае ответа "А" или "Х" отображается 
								индикатор выполнения.

			Continue.		 Отображается индикатор выполнения, 
			(по умолчанию)	продолжается выполнение.

			SilentlyContinue.   Команда выполняется, но индикатор 
								выполнения не отображается.


$PSEmailServer
--------------
	 Задает сервер электронной почты по умолчанию, который 
	 используется для отправки сообщений. Эта привилегированная 
	 переменная используется командлетами, отправляющими сообщения 
	 по электронной почте, например командлетом Send-MailMessage. 


$PSSessionApplicationName
---------------------------
	 Задает имя приложения по умолчанию для удаленной команды, 
	 использующей технологию WS-Management.

	 Системное имя приложения по умолчанию - WSMAN, однако при помощи 
	 привилегированной переменной имя по умолчанию можно изменить. 

	 Имя приложения - это последний узел в URI подключения. 
	 Например, в следующем примере URI имя приложения - WSMAN.

		 http://Server01:8080/WSMAN


	 Имя приложения по умолчанию используется, когда удаленная 
	 команда не задает URI подключения или имя приложения.  

	 Служба WinRM использует имя приложения для выбора 
	 прослушивателя для обслуживания запроса подключения. Значение 
	 этого параметра должно соответствовать значению свойства 
	 URLPrefix прослушивателя на удаленном компьютере.

	 Чтобы переопределить системные настройки по умолчанию и 
	 значение этой переменной, и чтобы выбрать другое имя 
	 приложения для конкретного сеанса, используйте параметры 
	 ConnectionURI или ApplicationName командлетов New-PSSession, 
	 Enter-PSSession или Invoke-Command.   

	 Эта привилегированная переменная задается на локальном 
	 компьютере, но указывает прослушиватель на удаленном компьютере. 
	 Если задаваемое имя приложения не существует на удаленном 
	 компьютере, команда установить сеанс завершится с ошибкой.



$PSSessionConfigurationName
---------------------------
	 Задает конфигурацию сеанса по умолчанию, которая используется 
	 для сеансов PSSession, создаваемых в текущем сеансе.

	 Эта привилегированная переменная задается на локальном 
	 компьютере, но определяет конфигурацию сеансов, расположенную 
	 на удаленном компьютере. 

	 Значение переменной $PSSessionConfigurationName является 
	 полным URI ресурса. 

	 Значение по умолчанию: 

		 http://schemas.microsoft.com/powershell/microsoft.powershell 

	 задает конфигурацию сеансов Microsoft.PowerShell на удаленном 
	 компьютере. 

	 Если задать только имя конфигурации, в начало будет добавлен 
	 следующий URI схемы:

		 http://schemas.microsoft.com/powershell/

			 
	 Можно переопределить значение по умолчанию и выбрать другую 
	 конфигурацию для конкретного сеанса, задав параметр 
	 ConfigurationName командлетов New-PSSession, Enter-PSSession 
	 или Invoke-Command.   

	 Изменить значение этой переменной можно в любой момент. 
	 Изменяя значение, помните, что выбираемая конфигурация сеансов 
	 должна существовать на удаленном компьютере. Если это условие 
	 не будет выполнено, команда создать сеанс с определенной 
	 конфигурацией завершится с ошибкой.

	 Эта привилегированная переменная не определяет, какие 
	 локальные конфигурации сеансов используются при создании 
	 удаленными пользователями сеанса, подключаемого к данному 
	 компьютеру. Однако можно использовать разрешения для локальных 
	 конфигураций сеансов, чтобы задать, кто из пользователей может 
	 использовать их.


$PSSessionOption
----------------
		Задает значения по умолчанию для дополнительных параметров 
		пользователя в удаленном сеансе. Эта настройка параметров 
		переопределяет системные значения по умолчанию для параметров 
		сеанса. 

		Можно также задать пользовательские параметры для конкретного 
		удаленного сеанса при помощи параметра SessionOption в 
		командлетах, создающих сеанс, например New-PSSession, 
		Enter-PSSession и Invoke-Command. Значение параметра 
		SessionOption имеет приоритет перед системными значениями по 
		умолчанию и значениями по умолчанию, заданными в этой переменной.

		Переменная $PSSessionOption содержит объект PSSessionOption 
		(System.Management.Automation.Remoting.PSSession
		Object). Каждое свойство объекта представляет параметр 
		сеанса. Например, свойство NoCompression отключает сжатие 
		данных во время сеанса.

		Чтобы создать привилегированную переменную $PSSessionOption, 
		используйте командлет New-PSSessionOption. Сохраните его 
		выходные данные в переменной с именем $PSSessionOption. 

		Пример:

			$PSSessionOption = New-PSSessionOption -NoCompression 

		Чтобы использовать привилегированную переменную 
		$PSSessionOption во всех сеансах Windows PowerShell, добавьте 
		команду New-PSSessionOption, которая создает переменную 
		$PSSessionOption, в свой профиль Windows PowerShell.

		Дополнительные сведения о командлете New-PSSessionOption см. 
		в разделе справки для New-PSSessionOption. Дополнительные 
		сведения об удаленных командах и сеансах см. в разделах 
		about_Remote и about_PSSessions.
		Дополнительные сведения об использовании профиля см. в 
		разделе about_Profiles.




$VerbosePreference
------------------
		Определяет, как Windows PowerShell отвечает на подробные 
		сообщения, созданные скриптом, командлетом или поставщиком, 
		например на сообщения, созданные командлетом Write-Verbose. 
		Обычно подробные сообщения описывают действия, произведенные 
		для выполнения команды. 

		По умолчанию подробные сообщения не отображаются, но можно 
		изменить это поведение, отредактировав значение переменной 
		$VerbosePreference.

		Также можно использовать общий параметр Verbose командлета, 
		чтобы отображать или скрывать подробные сообщения для 
		конкретной команды. Чтобы получить дополнительные сведения, 
		введите команду "get-help about_commonparameters".


		Допустимые значения:
			Stop.			 Отображается подробное сообщение и 
								сообщение об ошибке, выполнение прекращается.

			Inquire.			Отображается подробное сообщение и 
								запрос на продолжение выполнения.

			Continue.		 Отображается подробное 
								сообщение, выполнение продолжается.

			SilentlyContinue.   Подробное сообщение не 
			(по умолчанию)	отображается. Выполнение продолжается.

	ПРИМЕРЫ

	Данные примеры показывают, что происходит при различных значениях 
	переменной $VerbosePreference и использовании общего параметра 
	Verbose для переопределения значения переменной.

	Этот пример показывает, что произойдет, если задано значение по 
	умолчанию "SilentlyContinue ".

		PS> $VerbosePreference			 # Поиск текущего значения.
		SilentlyContinue

		PS> Write-Verbose "Тестовое подробное сообщение."		
		PS> 							# Запись подробного сообщения.
										 # Сообщение не отображается.

		PS> Write-Verbose "Тестовое подробное сообщение." -verbose   
		ПОДРОБНО: Тестовое подробное сообщение.
										 # Используется параметр Verbose.


	Этот пример показывает, что произойдет, если задано значение "Continue".

		PS> $VerbosePreference = "Continue"				
										 # Значение изменяется на "Continue".
		PS> Write-Verbose "Тестовое подробное сообщение."		
										 # Запись подробного сообщения.
		ПОДРОБНО: Тестовое подробное	 # Сообщение отображается.
				сообщение.

		PS> Write-Verbose "Тестовое подробное сообщение." -verbose:$false
										 # Используется параметр Verbose со значением $false.
		PS> 						
										 # Сообщение не отображается.


	Этот пример показывает, что произойдет, если задано значение "Stop".

		PS> $VerbosePreference = "Stop"					
										 # Значение изменяется на "Stop".
		PS> Write-Verbose "Тестовое подробное сообщение."		
										 # Запись подробного сообщения.
		ПОДРОБНО: Тестовое подробное сообщение.
		Write-Verbose : Выполнение команды остановлено, так как 
		переменной оболочки "VerbosePreference" присвоено значение Stop.
		В строке:1 знак:14
		+ Write-Verbose <<<< "Тестовое подробное сообщение."

		PS> Write-Verbose "Тестовое подробное сообщение." -verbose:$false
										# Используется параметр Verbose со значением $false 
										# Сообщение не отображается.

	Этот пример показывает, что произойдет, если задано значение "Inquire".

	 PS> $VerbosePreference = "Inquire"				
										 # Значение изменяется на "Inquire".
	 PS> Write-Verbose "Тестовое подробное сообщение."			 
	 ПОДРОБНО: Тестовое подробное сообщение.
										 # Запись подробного сообщения.
	 Подтверждение
	 Продолжить выполнение текущей операции?
	 [Y] Да [A] Да для всех [H] Прервать команду [S] Приостановить 
	 [?] Справка (по умолчанию "Y"): y 

	 PS> Write-Verbose "Тестовое подробное сообщение." -verbose:$false
										# Используется параметр Verbose.
	 PS> 					
										# Сообщение не отображается.



$WarningPreference
------------------
		Определяет, как Windows PowerShell отвечает на предупреждения,
		 созданные скриптом, командлетом или поставщиком, например на 
		 сообщения, созданные командлетом Write-Warning.

		По умолчанию предупреждения не отображаются, и выполнение 
		продолжается, но можно изменить это поведение, отредактировав 
		значение переменной $WarningPreference.

		Также можно использовать общий параметр WarningAction 
		командлета, чтобы определить, как Windows PowerShell будет 
		реагировать на предупреждения от конкретной команды. Чтобы 
		получить дополнительные сведения, введите команду "get-help 
		about_commonparameters".


		Допустимые значения:
			Stop.			 Отображается предупреждение и сообщение об 
								ошибке, выполнение прекращается.

			Inquire.			Отображается предупреждение и 
								запрос на продолжение выполнения. 

			Continue.		 Отображается предупреждение, 
			(по умолчанию)	выполнение продолжается.

			SilentlyContinue.   Предупреждение не отображается. 
								Выполнение продолжается.

	ПРИМЕРЫ

	Данные примеры показывают, что происходит при различных значениях 
	переменной $WarningPreference и использовании общего параметра 
	WarningAction для переопределения значения переменной.


	Этот пример показывает, что произойдет, если задано значение по 
	умолчанию "Continue".

			PS> $WarningPreference  # Поиск текущего значения.						 
			Continue			

									# Запись предупреждения.
			PS> Write-Warning "Это действие может привести к удалению данных."   
			ПРЕДУПРЕЖДЕНИЕ: Это действие может привести к удалению данных.
									
									# Используется параметр WarningAction командлета
			PS> Write-Warning "Это действие может привести к удалению данных." 
			-warningaction silentlycontinue   



   Этот пример показывает, что произойдет, если задано значение "SilentlyContinue".

			PS> $WarningPreference = "SilentlyContinue"		 
									# Значение изменяется на "SilentlyContinue".
 
			PS> Write-Warning "Это действие может привести к удалению данных."   
			PS> 				 # Запись предупреждения.

	 
			PS> Write-Warning "Это действие может привести к удалению данных." 
			-warningaction stop   
									# Используется параметр WarningAction для остановки 
										выполнения, когда данная команда генерирует строку 
			"ПРЕДУПРЕЖДЕНИЕ: Это действие может привести к удалению данных".
			Write-Warning : Выполнение команды остановлено, так как 
			переменной оболочки "WarningPreference" присвоено значение Stop.
			В строке:1 знак:14
			+ Write-Warning <<<< "Это действие может привести к удалению данных." -warningaction stop 


	Этот пример показывает, что произойдет, если задано значение "Inquire".

		 PS> $WarningPreference = "Inquire"				
									# Значение изменяется на "Inquire".
		 PS> Write-Warning "Это действие может привести к удалению данных."  
									# Запись предупреждения.   

		 ПРЕДУПРЕЖДЕНИЕ: Это действие может привести к удалению данных.

		 Подтверждение
		 Продолжить выполнение текущей операции?
		 [Y] Да [A] Да для всех [H] Прервать команду [S] Приостановить 
		 [?] Справка (по умолчанию "Y"): y 

		 PS> Write-Warning "Это действие может привести к удалению данных." 
		 -warningaction silentlycontinue
		 PS> 					 # Используется параметр WarningAction для изменения
									 # реакции на предупреждение для текущей команды.



	 Этот пример показывает, что произойдет, если задано значение "Stop".

		 PS> $WarningPreference = "Stop"					 
									 # Значение изменяется на "Stop".

		 PS> Write-Warning "Это действие может привести к удалению данных."   
									 # Запись предупреждения.
		 ПРЕДУПРЕЖДЕНИЕ: Это действие может привести к удалению данных.
		 Write-Warning : Выполнение команды остановлено, так как 
		 переменной оболочки "WarningPreference" присвоено значение Stop.
		 В строке:1 знак:14
		 + Write-Warning <<<< "Это действие может привести к удалению данных."


		 PS> Write-Warning "Это действие может привести к удалению данных." 
		 -warningaction inquire
		 ПРЕДУПРЕЖДЕНИЕ: Это действие может привести к удалению данных.

		 Подтверждение
		 Продолжить выполнение текущей операции?
		 [Y] Да [A] Да для всех [H] Прервать команду [S]  Приостановить 
		 [?] Справка (по умолчанию "Y"):						 
									# Используется параметр WarningAction для 
										изменения реакции на предупреждение для текущей команды.


$WhatIfPreference
------------------
		Определяет, включено ли действие WhatIf автоматически для 
		каждой команды, которая его поддерживает. Когда действие 
		WhatIf включено, командлет сообщает, что произойдет при 
		выполнении команды, но не выполняет команду. 

		Допустимые значения:
			0.				Действие WhatIf автоматически 
			(по умолчанию)	не включено. Чтобы включить его вручную, 
								используйте параметр WhatIf команды.
		

			1:				Действие WhatIf автоматически включено для каждой 
								поддерживающей его команды. Можно использовать параметр 
								WhatIf со значением False для отключения действия 
								вручную (WhatIf:$false).

	ПОДРОБНОЕ ОБЪЯСНЕНИЕ

		Если командлет поддерживает действие WhatIf, он сообщает, что 
		произойдет при выполнении команды вместо фактического 
		выполнения команды. Например, вместо удаления файла test.txt 
		в ответ на команду Remove-Item Windows PowerShell сообщает, 
		что было бы удалено. Последующая команда Get-Childitem 
		подтверждает, что файл не был удален.

			PS> remove-item test.txt
			What if: Выполнение операции "Remove-Item" над целевым объектом 
				"C:\test.txt".
			PS> get-childitem test.txt

			Каталог: Microsoft.PowerShell.Core\FileSystem::C:


			 Mode				LastWriteTime	 Length	 Name
			----				-------------	 ------	 ----
			-a---		 7/29/2006   7:15 PM		 84	 test.txt



	ПРИМЕРЫ

	Данные примеры показывают, что происходит при различных значениях 
	переменной $WhatIfPreference. Также примеры показывают, как 
	использовать параметр WhatIf командлета, чтобы переопределить 
	значение переменной для определенной команды.

	Этот пример показывает, что произойдет, если задано значение по 
	умолчанию "0" (действие не включено).

			 PS> $whatifpreference					 
			 0						 # Проверка текущего значения.

			 PS> get-childitem test.txt | format-list FullName
			 FullName : C:\test.txt
									 # Проверка существования файла.

			 PS> remove-item test.txt			
			 PS> 				 # Удаление файла.

			 PS> get-childitem test.txt | format-list -property FullName
									 # Проверка удаления файла.

			 Get-ChildItem : Не удается найти путь "C:\test.txt", так как он не существует.
			 В строке:1 знак:14
			 + get-childitem <<<< test.txt | format-list fullname


	 Этот пример показывает результат применения параметра WhatIf, 
	 когда переменная $WhatIfPreference имеет значение 0.

			 PS> get-childitem test2.txt | format-list -property FullName 
			 FullName : C:\test2.txt
									# Проверка существования файла.

			 PS> remove-item test2.txt -whatif		 
			 What if: Выполнение операции "Удаление файла" над целевым объектом "C:\test2.txt".
									# Используется параметр WhatIf

			 PS> get-childitem test2.txt | format-list -property FullName
			 FullName : C:\test2.txt
									# Проверка, что файл не был удален 

	Этот пример показывает, что произойдет при значении переменной 
	"1" (действие WhatIf включено). При использовании командлета 
	Remove-Item для удаления файла, командлет Remove-Item отображает 
	путь к удаляемому файлу, но не удаляет файл.

			 PS> $whatifpreference = 1				 
			 PS> $whatifpreference
			 1						# Значение изменяется.
								
			 PS> remove-item test.txt			
			 What if: Выполнение операции "Удаление файла" над целевым объектом "C:\test.txt".
									# Попытка удалить файл.

			 PS> get-childitem test.txt | format-list FullName
			 FullName : C:\test.txt
									# Проверка существования файла.

	 Этот пример показывает, как удалить файл, если переменная 
	 $WhatIfPreference имеет значение 1. Для этого следует 
	 использовать параметр WhatIf со значением $false.

			 PS> remove-item test.txt -whatif:$false
									# Используется параметр WhatIf со значением $false.

	 Этот пример показывает, что не все командлеты поддерживают 
	 поведение WhatIf. В этом примере значение переменной 
	 $WhatIfPreference равно 1 (включено), выполняется команда 
	 Get-Process, которая не поддерживает действие WhatIf, но команда 
	 Stop-Process выполняет действие WhatIf. Поведение WhatIf команды 
	 Stop-Process можно переопределить при помощи параметра 
	 WhatIf со значением $false.

			PS> $whatifpreference = 1			
									 # Значение изменяется на "1"
												
			PS> get-process winword 
									# Происходит выполнение команды Get-Process.

			Handles  NPM(K)	PM(K)	WS(K) VM(M)   CPU(s)	 Id ProcessName
			-------  ------	-----	----- -----   ------	 -- -----------
				234	 8	 6324	15060   154	 0.36   2312 WINWORD


		 PS> stop-process -name winword
		 What if: Выполнение операции "Stop-Process" над целевым объектом "WINWORD (2312)".
									# Команда Stop-Process использует поведение WhatIf.

		 PS> stop-process -name winword -whatif:$false
		 PS> 				# Параметр WhatIf:$false переопределяет поведение.
		 
		 PS> get-process winword					 
		 Get-Process : Не удается найти процесс с именем winword. 
		 Убедитесь, что имя процесса введено правильно, и повторите вызов командлета.
		 В строке:1 знак:12
		 + get-process <<<< winword
									# Проверка, что процесс остановлен.





СМ. ТАКЖЕ
	about_Automatic_Variables
	about_CommonParameters
	about_Environment_Variables
	about_Profiles
	about_Remote
	about_Scopes
	about_Variables