Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Windows Server

PowerShell में Out-GridView का उपयोग करके टेबल डेटा देखें और चुनें

Out-GridView cmdlet डेटा को एक इंटरैक्टिव ग्राफिकल टेबल के रूप में प्रदर्शित करने की अनुमति देता है जिसे विभिन्न मानदंडों के आधार पर फ़िल्टर या सॉर्ट किया जा सकता है। आप Out-Gridview cmdlet का उपयोग स्क्रिप्ट्स में कर सकते हैं जहां आप उपयोगकर्ता को ऑब्जेक्ट्स चुनने के लिए सबसे सरल GUI प्रदान करना चाहते हैं।

दरअसल, Out-GridView .NET DataGridView को चलाने के लिए एक रैपर है, जो Windows Form Control से एक मानक ग्राफिकल फॉर्म है।

Out-GridView टेबल्स का उपयोग करना

आइए Windows सर्विसेज की सूची और उनके कुछ गुणों को प्रदर्शित करने के लिए Out-GridView cmdlet के उपयोग का सबसे सरल उदाहरण देखें:

Get-Service | Select DisplayName,Status,ServiceName,Can* | Out-GridView

जैसा कि आप देख सकते हैं, Windows सर्विस प्रॉपर्टीज़ की सूची के साथ एक ग्राफिकल टेबल फॉर्म दिखाई दिया। Cmdlet ऑब्जेक्ट प्रॉपर्टीज़ या डेटा टाइप के आधार पर कॉलम नामों को स्वचालित रूप से सेट करता है, और यदि डेटा फॉर्मेट परिभाषित नहीं किया जा सकता है तो PSObject प्रॉपर्टीज़ को बढ़ाता है।

आप Filter बॉक्स का उपयोग करके फॉर्म को खोज सकते हैं।

आप Add criteria बटन का उपयोग करके टेबल को भी खोज सकते हैं। नीचे स्क्रीनशॉट में, मैंने VMW उनके नामों में होने वाली चल रही सर्विसेज की सूची के साथ सबसे सरल फ़िल्टर बनाया है। फ़िल्टर ऑब्जेक्ट प्रॉपर्टीज़ के मानों के आधार पर सीधे बनाया जाता है।

या आइए सबसे अधिक CPU उपयोग वाले TOP 10 प्रोसेसेज की सूची प्रदर्शित करें (मैंने –Title विकल्प का उपयोग करके अपने Out-GridView विंडो का नाम बदल दिया है):

Get-Process | Sort-Object CPU -Descending | Select -First 10 | Out-GridView -Title "Top 10 CPU processes"

आप कॉलम हेडर पर क्लिक करके टेबल सामग्री को आरोही/अवरोही क्रम में जल्दी से सॉर्ट कर सकते हैं।

PassThru स्विच के साथ Out-GridView cmdlet

हालाँकि, सबसे शक्तिशाली Out-Gridview फीचर –PassThru विकल्प है, जो आपके PowerShell स्क्रिप्ट्स के लिए यूजर-फ्रेंडली GUI का एक नया स्तर प्रदान करता है।

यह विकल्प PowerShell 3.0 या उच्चतर में उपलब्ध है, यह उपयोगकर्ता को टेबल में एक या अधिक ऑब्जेक्ट्स चुनने की अनुमति देता है, और उन्हें आपके PowerShell स्क्रिप्ट में अगले cmdlets को स्टैंडर्ड पाइप का उपयोग करके पास करता है।

उदाहरण के लिए, निम्न PowerShell स्क्रिप्ट चल रही Windows सर्विसेज की सूची प्रदर्शित करती है। उपयोगकर्ता सूची में एक सर्विस चुनता है और OK पर क्लिक करता है।

Get-Service | Where-Object {$_.status -eq 'running'}| Out-GridView -Title "Select service to restart" –PassThru -OutputMode Multiple | Restart-service –verbose

स्क्रिप्ट केवल उपयोगकर्ता द्वारा चुनी गई सर्विस को रीस्टार्ट करेगी।

आप उपयोगकर्ता द्वारा चुने गए ऑब्जेक्ट्स को एक वेरिएबल में सहेज सकते हैं:

$Svcs = Get-Service | Where-Object {$_.status -eq 'running'}| Out-GridView -Title "Select services" –PassThru

या आप केवल किसी प्रॉपर्टी के मान सहेज सकते हैं। ऐसा करने के लिए, पिछले कमांड में निम्न पाइप जोड़ें:

| Select -ExpandProperty Name

आप टेबल में उपयोगकर्ता को केवल एक आइटम या कई आइटम चुनने की अनुमति देने के लिए निम्न विकल्पों का उपयोग कर सकते हैं:

-OutputMode Single and -OutputMode Multiple

टेबल में कई पंक्तियों को चुनने के लिए Ctrl दबाए रखें।

PowerShell स्क्रिप्ट में GUI के रूप में Out-Gridview का उपयोग कैसे करें?

यहाँ Out-GridView के उपयोग के कुछ और दिलचस्प उदाहरण हैं।

PowerShell इतिहास से पिछले कमांड्स की सूची प्रदर्शित करने और चयनित कमांड्स को फिर से चलाने के लिए:

Get-History | Out-GridView -PassThru | Invoke-Expression

अतिरिक्त Windows घटकों की सूची प्रदर्शित करने और चयनित को इंस्टॉल करने के लिए (उदाहरण के लिए, RSAT Active Directory प्रबंधन टूल्स और SSH क्लाइंट):

Get-WindowsCapability -Online | Where-Object {$_.State –eq “NotPresent”}| Out-GridView -PassThru |Add-WindowsCapability –Online

अपने RDS फार्म के Connection Broker से RDP सत्रों की सूची प्राप्त करने और चयनित उपयोगकर्ता के डेस्कटॉप से RDP शैडो कनेक्शन का उपयोग करके कनेक्ट करने के लिए:

import-module remotedesktop
$cbserver = "munrdsbroker1.woshub.com"
$id = get-rdusersession -ConnectionBroker $cbserver | Out-GridView -title "RD Connection" -PassThru | select hostserver, unifiedsessionid
$id2 = $id | select -ExpandProperty unifiedsessionid
$srv = $id | select -ExpandProperty hostserver
mstsc /v:"$srv" /shadow:"$id2" /control /noconsentprompt

आप AD PowerShell मॉड्यूल से Get-ADUser cmdlet का उपयोग करके किसी विशिष्ट OU में सक्षम उपयोगकर्ताओं की सूची प्रदर्शित कर सकते हैं और उपयोगकर्ता का डोमेन पासवर्ड रीसेट कर सकते हैं:

Import-Module ActiveDirectory
$NewPasswd=Read-Host "Enter a new user password" –AsSecureString
Get-ADUser -filter {Enabled -eq "true"} -properties Name, displayname,EmailAddress,pwdLastSet -SearchBase ‘OU=Berlin,OU=DE,DC=woshub,DC=com’| Out-GridView -PassThru –title “Select a user to reset a password”| Set-ADAccountPassword -NewPassword $NewPasswd -Reset

Invoke-Command का उपयोग करके, आप रिमोट कंप्यूटर्स से डेटा प्राप्त कर सकते हैं और उन्हें टेबल में दिखा सकते हैं:

Invoke-Command -ComputerName be-dc01, mun-dc01, mun-dc02 -ScriptBlock {Get-Culture} | Select-Object PSComputerName,DisplayName| Out-GridView

दुर्भाग्य से, Out-GridView cmdlet का उपयोग Windows Server Core में नहीं किया जा सकता। यदि आप इसे चलाते हैं, तो निम्न त्रुटि होती है:

out-gridview : To use the Out-GridView, install Windows PowerShell ISE by using Server Manager, and then restart this application. (Could not load file or assembly 'Microsoft.PowerShell.GraphicalHost, Version=3.0.0.0, Culture=neutral, PublicKeyToken=xxxxx' or one of its dependencies. The system cannot find the file specified.)

हालाँकि, आप कई cmdlets में उपलब्ध –ComputerName विकल्प का उपयोग करके Server Core तक पहुंच सकते हैं। उदाहरण के लिए:

Get-Service -ComputerName lon-dc02 | Where-Object {$_.status -eq 'running'}| Out-GridView –Title "Select service to restart" -OutputMode Single|Restart-Service -Verbose

किसी कारण से, Microsoft ने PowerShell Core 6.x से Out-GridView cmdlet को हटा दिया, लेकिन इसे संस्करण 7.0 में वापस लाया। यदि आप PowerShell 6.x का उपयोग कर रहे हैं, तो इस कमांड का उपयोग करके इसे नवीनतम संस्करण में अपडेट करें:

iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"

जैसा कि आप देख सकते हैं, Out-GridView आपके PowerShell स्क्रिप्ट्स में एक अच्छा ग्राफिकल इंटरफ़ेस जोड़ने की अनुमति देता है।

  1. पावरशेल का उपयोग करके BIOS सेटिंग्स देखें और बदलें पावरशेल का उपयोग करके BIOS सेटिंग्स देखें और बदलें

    आप विंडोज चलाने वाले अपने कंप्यूटर पर BIOS सेटिंग्स को देखने या बदलने के लिए पावरशेल का उपयोग कर सकते हैं। आइए कुछ उदाहरणों पर विचार करें जिनका उपयोग आप लोकप्रिय विक्रेताओं: HP, लेनोवो, डेल के कंप्यूटरों पर WMI कक्षाओं (विंडोज मैनेजमेंट इंस्ट्रूमेंटेशन) के माध्यम से पावरशेल के साथ कुछ BIOS सेटिंग्स

  1. PowerShell का उपयोग करके Excel फ़ाइल से डेटा पढ़ना और लिखना PowerShell का उपयोग करके Excel फ़ाइल से डेटा पढ़ना और लिखना

    इस लेख में हम दिखाएंगे कि PowerShell स्क्रिप्ट से सीधे Excel वर्कशीट से डेटा कैसे पढ़ें और लिखें। आप कंप्यूटर, सर्वर, इन्फ्रास्ट्रक्चर, Active Directory आदि पर इन्वेंट्री और विभिन्न रिपोर्ट जनरेट करने के लिए PowerShell के साथ Excel का उपयोग कर सकते हैं। PowerShell का उपयोग करके Excel स्प्रेडशीट से

  1. पावरशेल से कुशलतापूर्वक फाइल और फोल्डर हटाएं: चरण-दर-चरण गाइड पावरशेल से कुशलतापूर्वक फाइल और फोल्डर हटाएं: चरण-दर-चरण गाइड

    अपनी सभी फाइलों और फोल्डरों को मैन्युअल रूप से हटाना एक परेशानी हो सकती है। लेकिन, यदि आप पावरशेल के आसपास अपना रास्ता जानते हैं, तो यह नहीं होना चाहिए। इस लेख में, हम पावरशेल का उपयोग करके अपनी विंडोज फाइलों और फोल्डरों को हटाने के विभिन्न तरीके प्रस्तुत करते हैं। पावरशेल से अपनी फाइलों और फोल्डरो