Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
function Deleted-ObjectLocalNetwork {
	[CmdLetBinding()]
	param (
		[String[]]$ComputerName, #IP или Имя удаленного компьютера
		[String[]]$SeachObjectDeleted #Объект (папка, файл) для удаления.
	)

	foreach($Computer in $ComputerName)
	{
		if (Test-Connection $Computer -Count 2 -Quiet)
		{
			Write-Verbose "осуществляется поиск на $computer"
			trap {Write-Host "Error WmiObject $Computer";Continue}
			$Disks = Get-WmiObject Win32_Logicaldisk -Filter "Size > 0 and DriveType=3" -ComputerName $Computer -ErrorAction Stop
			
			foreach ($Disk in $Disks){

				$Disk = $Disk.Name.replace(":","$")
				Write-Verbose "Загружаем в массив данные логического диска \\$Computer\$Disk"
				$Info = Get-ChildItem "\\$Computer\$Disk" -Recurse -ErrorAction SilentlyContinue
				$Info | Where-Object {$SeachObjectDeleted -contains $_.Name} | Foreach {Remove-Item $_.FullName -Recurse -Force -Verbose}
			}
		}
		else 
		{
			Write-Verbose "$computer не отвечает"
		}
	}
}

Последний раз редактировалось Kazun, 16-10-2012 в 10:48.

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:41, 16-10-2012 | #4