कस्टम ऑब्जेक्ट कई आइटम्स को पावरशेल करता है


0

मेरे पास यह कोड है जो केवल एक आइटम के लिए बहुत अच्छा काम करता है यदि मैं एक नया आइटम जोड़ता हूं तो यह पुराने को हटा देता है

मैंने कई तरह से कोशिश की है, लेकिन मैं यह नहीं कर सकता कि यह कैसे करें आप मेरी मदद कर सकते हैं?

Import-Module WebAdministration
$HostName = $env:computername
$DateNow = Get-Date -format d

$WebServerEngine_MajorVersion = get-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\  | foreach >{$_.MajorVersion}
$WebServerEngine_MinorVersion = get-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\  | foreach {$_.MinorVersion}
$IIS_Version = [string]$WebServerEngine_MajorVersion + "." + [string]$WebServerEngine_MinorVersion

$Webs = Get-Website | select name

if ($Webs) {
    ForEach ($Web in $Webs) {
    $InfoServer = new-object psobject
    $InfoServer | add-member noteproperty HostName $HostName
    $InfoServer | add-member noteproperty Date_report $DateNow
    $InfoServer | add-member noteproperty IIS_Version $IIS_Version
    $InfoServer | add-member noteproperty SiteName $Web.name
    }
}

जवाबों:


0

आप लूप के माध्यम से प्रत्येक पुनरावृत्ति पर $ InfoServer ऑब्जेक्ट को अधिलेखित कर रहे हैं। लूप के अंत में राइट-आउटपुट $ InfoServer कमांड जोड़ने का प्रयास करें। यह डेटा को वापस पाइपलाइन में भेज देगा। इसे इस्तेमाल करे:

if ($Webs) {
    ForEach ($Web in $Webs) {
        $InfoServer = new-object psobject
        $InfoServer | add-member noteproperty HostName $HostName
        $InfoServer | add-member noteproperty Date_report $DateNow
        $InfoServer | add-member noteproperty IIS_Version $IIS_Version$InfoServer | add-member noteproperty SiteName $Web.name
        Write-Output $InfoServer
    }
}

आउटपुट सही है, लेकिन मुझे आउटपुट को न केवल इसे स्क्रीन पर लिखने की आवश्यकता है
Keven
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.