проверьте ОЗУ, файл подкачки, /PAE, /3GB, память SQL-сервера с помощью powershell

Я новичок в powershell.

Спустя сутки поисков....

Я собрал небольшой скрипт powershell (как показано ниже), чтобы проверить файл подкачки, переключатель /PAE, переключатель /3GB, максимальный объем ОЗУ сервера SQL, минимальный объем ОЗУ. Я запускаю это на 1 сервере.

Если я хочу запустить его на многих серверах (из файла .txt), как я могу его изменить? Как я могу изменить его для поиска содержимого файла boot.ini для данного сервера?

clear
$strComputer="."

$PageFile=Get-WmiObject Win32_PageFile -ComputerName $strComputer
Write-Host "Page File Size in MB: " ($PageFile.Filesize/(1024*1024))


$colItems=Get-WmiObject Win32_PhysicalMemory -Namespace root\CIMv2 -ComputerName $strComputer
$total=0
foreach ($objItem in $colItems)
{
    $total=$total+ $objItem.Capacity
}


$isPAEEnabled =Get-WmiObject Win32_OperatingSystem -ComputerName $strComputer
Write-Host "Is PAE Enabled: " $isPAEEnabled.PAEEnabled 

Write-Host "Is /3GB Enabled: " | Get-Content C:\boot.ini | Select-String "/3GB" -Quiet  
# how can I change to search boot.ini file's contents on $strComputer

$smo = new-object('Microsoft.SqlServer.Management.Smo.Server') $strSQLServer
$memSrv = $smo.information.physicalMemory
$memMin = $smo.configuration.minServerMemory.runValue
$memMax = $smo.configuration.maxServerMemory.runValue


## DBMS
Write-Host "Server RAM available:       " -noNewLine
Write-Host "$memSrv MB" -fore "blue"
Write-Host "SQL memory Min:             " -noNewLine
Write-Host "$memMin MB " 
Write-Host "SQL memory Max:             " -noNewLine
Write-Host "$memMax MB" 

Любые комментарии, как это можно улучшить?

заранее спасибо


person Manjot    schedule 08.03.2010    source источник
comment
Однако имейте в виду, что boot.ini уже некоторое время больше не используется. Для любой недавней ОС это просто ничего не даст.   -  person Joey    schedule 08.03.2010
comment
Если boot.ini не используется в некоторых ОС, куда включать переключатели /PAE и /3GB?   -  person Manjot    schedule 08.03.2010


Ответы (1)


Если вы хотите просто проверить файл boot.ini, вы можете использовать Get-Content (если у вас не будет проблем с учетными данными)

# create a test file with server names
@"
server1
server2
"@ | set-content c:\temp\serversso.txt

# read the file and get the content
get-content c:\temp\serversso.txt | 
    % { get-content "\\$_\c`$\boot.ini" } |
    Select-String "/3GB" -Quiet  

Позже, если вы добавите некоторые вещи, которые понадобятся для работы на удаленном компьютере, вам нужно будет использовать удаленное взаимодействие и, в основном, Invoke-Command. Недавно появилось два ресурса, которые касаются удаленного взаимодействия:

person stej    schedule 08.03.2010
comment
Большое спасибо за ресурсы. - person Manjot; 09.03.2010