Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ Powershell ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Python

SQL\T-SQL

FreeBSD and Nix

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Сведения о компьютерах в сети


$ADComputers = dir -Path AD:"CN=Computers,DC=zaoipnet,DC=com"
$ADComputers | Sort-Object name | Select-Object name | Export-csv C:\powershell\scripts\report_computers\comp.csv -NoTypeInformation

$servers = dir -Path AD:"OU=servers,DC=zaoipnet,DC=com"
$servers | Sort-Object name | Select-Object name | Export-csv C:\powershell\scripts\report_computers\serv.csv -NoTypeInformation

$usb_ipnet = dir -Path AD:"OU=Включенный USB,OU=ipnet,DC=zaoipnet,DC=com"
$usb_ipnet | Sort-Object name | Select-Object name | Export-csv C:\powershell\scripts\report_computers\usb_ipnet.csv -NoTypeInformation

"Отчет по группе Computers:" > C:\powershell\scripts\report_computers\comp_report.csv
Write-Output "=================================================" >> C:\powershell\scripts\report_computers\comp_report.csv

Import-Csv C:\powershell\scripts\report_computers\comp.csv | foreach {

$a=$_.Name

#Будем выводить данные только по компьютерам в сети , так мы сократим время работы скрипта
if ((Test-Connection $a -Count 2 -Quiet) -eq "True")
{

    Write-Output $a >> C:\powershell\scripts\report_computers\comp_report.csv

    #Объявляем переменные с выводом информации о дисках и памяти
    $HD = Get-WmiObject -Class win32_volume -computer $a
    $PM = Get-WmiObject -Class Win32_ComputerSystem -computer $a

        foreach($cycle in $HD)
        {
        Write-Output "" >> C:\powershell\scripts\report_computers\comp_report.csv

        #Объявляем переменную с именем диска
        $ND = $cycle.Name
        
        #Заносим вывод в гигабайтах в переменную
        $1 = $cycle.Freespace/1GB
        
        #Приводим к целому виду и выводим
        $1i = [int]$1
        
            if ($1i -ne "0"){
                Write-output "Свободное место диска в гигабайтах:" >> C:\powershell\scripts\report_computers\comp_report.csv
                $ND >> C:\powershell\scripts\report_computers\comp_report.csv
            
                Write-output $1i >> C:\powershell\scripts\report_computers\comp_report.csv

                Write-output "Общий размер диска в гигабайтах:">> C:\powershell\scripts\report_computers\comp_report.csv
                $2 = $cycle.Capacity/1GB
                $2i = [int]$2
                Write-output $2i >> C:\powershell\scripts\report_computers\comp_report.csv

                Write-Output "" >> C:\powershell\scripts\report_computers\comp_report.csv
                }
            else {}
        
        }

        foreach($cycle1 in $PM){
            Write-Output "Количество оперативной памяти в гигабайтах:" >> C:\powershell\scripts\report_computers\comp_report.csv
            $PM1 = $PM.TotalPhysicalMemory/1GB
            Write-output $PM1 >> C:\powershell\scripts\report_computers\comp_report.csv
            }

    Write-Output "=================================================" >> C:\powershell\scripts\report_computers\comp_report.csv
}
}

"Отчет по группе servers:" > C:\powershell\scripts\report_computers\serv_report.csv
Write-Output "=================================================" >> C:\powershell\scripts\report_computers\serv_report.csv

Import-Csv C:\powershell\scripts\report_computers\serv.csv | foreach {

$a=$_.Name

if ((Test-Connection $a -Count 2 -Quiet) -eq "True")
{

    Write-Output $a >> C:\powershell\scripts\report_computers\serv_report.csv

    #Объявляем переменные с выводом информации о дисках
    $HD = Get-WmiObject -Class win32_volume -computer $a
    $PM = Get-WmiObject -Class Win32_ComputerSystem -computer $a

        foreach($cycle in $HD)
        {
        Write-Output "" >> C:\powershell\scripts\report_computers\serv_report.csv

        #Объявляем переменную с именем диска
        $ND = $cycle.Name
        

        #Заносим вывод в гигабайтах в переменную
        $1 = $cycle.Freespace/1GB
        
        #Приводим к целому виду и выводим
        $1i = [int]$1
        
            if ($1i -ne "0"){
                Write-output "Свободное место диска в гигабайтах:" >> C:\powershell\scripts\report_computers\serv_report.csv
                $ND >> C:\powershell\scripts\report_computers\serv_report.csv
            
                Write-output $1i >> C:\powershell\scripts\report_computers\serv_report.csv

                Write-output "Общий размер диска в гигабайтах:">> C:\powershell\scripts\report_computers\serv_report.csv
                $2 = $cycle.Capacity/1GB
                $2i = [int]$2
                Write-output $2i >> C:\powershell\scripts\report_computers\serv_report.csv

                Write-Output "" >> C:\powershell\scripts\report_computers\serv_report.csv
                }
            else {}
        
        }

        foreach($cycle1 in $PM){
            Write-Output "Количество оперативной памяти в гигабайтах:" >> C:\powershell\scripts\report_computers\serv_report.csv
            $PM1 = $PM.TotalPhysicalMemory/1GB
            Write-output $PM1 >> C:\powershell\scripts\report_computers\serv_report.csv
            }

    Write-Output "=================================================" >> C:\powershell\scripts\report_computers\serv_report.csv
}
}

"Отчет по группе usb_ipnet:" > C:\powershell\scripts\report_computers\usb_ipnet_report.csv
Write-Output "=================================================" >> C:\powershell\scripts\report_computers\usb_ipnet_report.csv

Import-Csv C:\powershell\scripts\report_computers\comp.csv | foreach {

$a=$_.Name

if ((Test-Connection $a -Count 2 -Quiet) -eq "True")
{

    Write-Output $a >> C:\powershell\scripts\report_computers\usb_ipnet_report.csv

    #Объявляем переменные с выводом информации о дисках
    $HD = Get-WmiObject -Class win32_volume -computer $a
    $PM = Get-WmiObject -Class Win32_ComputerSystem -computer $a

        foreach($cycle in $HD)
        {
        Write-Output "" >> C:\powershell\scripts\report_computers\usb_ipnet_report.csv

        #Объявляем переменную с именем диска
        $ND = $cycle.Name
        

        #Заносим вывод в гигабайтах в переменную
        $1 = $cycle.Freespace/1GB
        
        #Приводим к целому виду и выводим
        $1i = [int]$1
        
            if ($1i -ne "0"){
                Write-output "Свободное место диска в гигабайтах:" >> C:\powershell\scripts\report_computers\usb_ipnet_report.csv
                $ND >> C:\powershell\scripts\report_computers\usb_ipnet_report.csv
            
                Write-output $1i >> C:\powershell\scripts\report_computers\usb_ipnet_report.csv

                Write-output "Общий размер диска в гигабайтах:">> C:\powershell\scripts\report_computers\usb_ipnet_report.csv
                $2 = $cycle.Capacity/1GB
                $2i = [int]$2
                Write-output $2i >> C:\powershell\scripts\report_computers\usb_ipnet_report.csv

                Write-Output "" >> C:\powershell\scripts\report_computers\usb_ipnet_report.csv
                }
            else {}
        
        }

        foreach($cycle1 in $PM){
            Write-Output "Количество оперативной памяти в гигабайтах:" >> C:\powershell\scripts\report_computers\usb_ipnet_report.csv
            $PM1 = $PM.TotalPhysicalMemory/1GB
            Write-output $PM1 >> C:\powershell\scripts\report_computers\usb_ipnet_report.csv
            }

    Write-Output "=================================================" >> C:\powershell\scripts\report_computers\usb_ipnet_report.csv
}
}


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект