dark-------13
15-10-2012, 20:11
Здравствуйте,
Подскажите пожалуйста:
Есть скрипт удаляющий папку или несколько папок (и даже файлов) с указанного компьютера в сети. Вопрос будет ли работать скрипт с несколькими машинами, если у казать компьютеры через запятую PK-New, PK-New2, PK-New3 ?
function Deleted-ObjectLocalNetwork(){
param (
$Computer, #IP или Имя удаленного компьютера
[String[]]$SeachObjectDeleted #Объект (папка, файл) для удаления.
)
#Поиск логических дисков на компьютере.
$Disks = $null
trap {Write-Host “Error WmiObject $Computer”;Continue}
$Disks += Get-WmiObject Win32_Logicaldisk -ComputerName $Computer | Where-Object {$_.Size -ne $null}
foreach ($Disk in $Disks){
#В имени диска заменяем “:” на “$”
if ($Disk.Name -like “*:*”) {$Disk = $Disk.Name.replace(“:”,“$”)}
#Загружаем в массив данные логического диска.
$Info = $null
trap {Write-Host “Error ChildItem $Computer”;Continue}
$Info += Get-ChildItem “\\$Computer\$Disk\*” -recurse -ErrorAction SilentlyContinue
if ($Info -ne $null){
#Удаляем Объект (папка, файл) из всех расположений логического диска.
foreach ($Folder in $SeachObjectDeleted){
$Info | Where-Object {$_.Name -like $Folder} | % {Remove-Item $_.FullName -Recurse -Force -ErrorAction SilentlyContinue}
}
}
else {Write-Host “$SeachObjectDeleted Not Found”
}
}}
Deleted-ObjectLocalNetwork -Computer PK-New -SeachObjectDeleted Papka_
Подскажите пожалуйста:
Есть скрипт удаляющий папку или несколько папок (и даже файлов) с указанного компьютера в сети. Вопрос будет ли работать скрипт с несколькими машинами, если у казать компьютеры через запятую PK-New, PK-New2, PK-New3 ?
function Deleted-ObjectLocalNetwork(){
param (
$Computer, #IP или Имя удаленного компьютера
[String[]]$SeachObjectDeleted #Объект (папка, файл) для удаления.
)
#Поиск логических дисков на компьютере.
$Disks = $null
trap {Write-Host “Error WmiObject $Computer”;Continue}
$Disks += Get-WmiObject Win32_Logicaldisk -ComputerName $Computer | Where-Object {$_.Size -ne $null}
foreach ($Disk in $Disks){
#В имени диска заменяем “:” на “$”
if ($Disk.Name -like “*:*”) {$Disk = $Disk.Name.replace(“:”,“$”)}
#Загружаем в массив данные логического диска.
$Info = $null
trap {Write-Host “Error ChildItem $Computer”;Continue}
$Info += Get-ChildItem “\\$Computer\$Disk\*” -recurse -ErrorAction SilentlyContinue
if ($Info -ne $null){
#Удаляем Объект (папка, файл) из всех расположений логического диска.
foreach ($Folder in $SeachObjectDeleted){
$Info | Where-Object {$_.Name -like $Folder} | % {Remove-Item $_.FullName -Recurse -Force -ErrorAction SilentlyContinue}
}
}
else {Write-Host “$SeachObjectDeleted Not Found”
}
}}
Deleted-ObjectLocalNetwork -Computer PK-New -SeachObjectDeleted Papka_