JackieInIT
21-05-2012, 09:12
Всем доброго времени суток! Не очень силен в PS, но получилось собрать вот такой скрипт:
$name = "Computer_Name"
$Day = get-date -format "yyyyMMdd"
$file = "d:\inventory\"+$name+"_"+$Day+".html"
"---------------$name---------------" | Out-File $file -append
Get-WMIObject Win32_OperatingSystem -ComputerName $name | select-object @{name="System"; expression={$_.Caption}} | convertto-html -head "<link rel='stylesheet' href='d:\myscripts\styles.css' type='text/css' />" | Out-File $file -Append
Get-WmiObject win32_operatingsystem -ComputerName $name | Select-Object CSDVersion, OSLanguage | convertto-html | Out-File $file -Append
"---Процессор---" | out-file $file -append
Get-WmiObject win32_processor -ComputerName $name | Select-Object @{name="Name"; expression={$_.Name}} | convertto-html | out-file $file -append
"---Материнская Плата---" | out-file $file -append
Get-WmiObject win32_baseboard -ComputerName $name | Select-Object @{Name="Manufacturer"; expression={$_.manufacturer}}, @{Name="Model"; expression={$_.product}}, serialnumber | convertto-html | out-file $file -append
"---Жесткий диск---" | out-file $file -Append
Get-WmiObject win32_diskdrive -ComputerName $name | Select-Object Model, Partitions, @{Name="Size, Gb"; Expression={$_.Size/1Gb}}, Interfacetype | convertto-html | Out-File $file -Append
"---Оперативная память---" | Out-File $file -Append
Get-WmiObject win32_physicalmemory -computername $name | Select-Object @{Name="Size, Mb"; Expression={$_.capacity/1Mb}}, DeviceLocator, @{Name="Speed"; Expression={$_.Speed}}| convertto-html | Out-File $file -Append
Подставляю для каждого компьютера в переменную $name имя и запускаю. На некоторых компьютерах отрабатывает нормально, на некоторых выдает такую ошибку:
Get-WmiObject : Отказано в доступе. (Exception from HRESULT: 0x80070005 (E_ACCE
SSDENIED))
D:\MyScripts\dyn_inventory_html.ps1:5 знак:14
+ Get-WMIObject <<<< Win32_OperatingSystem -ComputerName $name | select-object
@{name="System"; expression={$_.Caption}} | convertto-html -head "<link rel='s
tylesheet' href='d:\myscripts\styles.css' type='text/css' />" | Out-File $file
-Append
+ CategoryInfo : NotSpecified: (:) [Get-WmiObject], UnauthorizedA
ccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.Pow
erShell.Commands.GetWmiObjectCommand
PS запущен от имени доменного администратора. Хотя на эти же компы через c$ захожу нормально. Может кто подскажет. Заранее спасибо!
$name = "Computer_Name"
$Day = get-date -format "yyyyMMdd"
$file = "d:\inventory\"+$name+"_"+$Day+".html"
"---------------$name---------------" | Out-File $file -append
Get-WMIObject Win32_OperatingSystem -ComputerName $name | select-object @{name="System"; expression={$_.Caption}} | convertto-html -head "<link rel='stylesheet' href='d:\myscripts\styles.css' type='text/css' />" | Out-File $file -Append
Get-WmiObject win32_operatingsystem -ComputerName $name | Select-Object CSDVersion, OSLanguage | convertto-html | Out-File $file -Append
"---Процессор---" | out-file $file -append
Get-WmiObject win32_processor -ComputerName $name | Select-Object @{name="Name"; expression={$_.Name}} | convertto-html | out-file $file -append
"---Материнская Плата---" | out-file $file -append
Get-WmiObject win32_baseboard -ComputerName $name | Select-Object @{Name="Manufacturer"; expression={$_.manufacturer}}, @{Name="Model"; expression={$_.product}}, serialnumber | convertto-html | out-file $file -append
"---Жесткий диск---" | out-file $file -Append
Get-WmiObject win32_diskdrive -ComputerName $name | Select-Object Model, Partitions, @{Name="Size, Gb"; Expression={$_.Size/1Gb}}, Interfacetype | convertto-html | Out-File $file -Append
"---Оперативная память---" | Out-File $file -Append
Get-WmiObject win32_physicalmemory -computername $name | Select-Object @{Name="Size, Mb"; Expression={$_.capacity/1Mb}}, DeviceLocator, @{Name="Speed"; Expression={$_.Speed}}| convertto-html | Out-File $file -Append
Подставляю для каждого компьютера в переменную $name имя и запускаю. На некоторых компьютерах отрабатывает нормально, на некоторых выдает такую ошибку:
Get-WmiObject : Отказано в доступе. (Exception from HRESULT: 0x80070005 (E_ACCE
SSDENIED))
D:\MyScripts\dyn_inventory_html.ps1:5 знак:14
+ Get-WMIObject <<<< Win32_OperatingSystem -ComputerName $name | select-object
@{name="System"; expression={$_.Caption}} | convertto-html -head "<link rel='s
tylesheet' href='d:\myscripts\styles.css' type='text/css' />" | Out-File $file
-Append
+ CategoryInfo : NotSpecified: (:) [Get-WmiObject], UnauthorizedA
ccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.Pow
erShell.Commands.GetWmiObjectCommand
PS запущен от имени доменного администратора. Хотя на эти же компы через c$ захожу нормально. Может кто подскажет. Заранее спасибо!