PowerShell物件的批處理方法
一般我們認為欸的批處理是迴圈遍歷物件,一個一個的進行處理,這種思想在PowerShell也是可用的,同時還有更好的批處理方法,下面介紹幾種批處理方法:
1,使用PowerShell Cmdlet進行批處理;
利用管道(Pipeline)將一個Cmdlet產生的結果傳輸給另一個Cmdlet,PowerShell知道如果處理傳入的多個物件;
例如:
PS C:\Users\Administrator> Get-Service -Name BITS,xbgm,Spooler | Set-Service -StartupType Automatic
一次性將三個服務設定為自動啟動型別,這中批處理方式是PowerShell最推薦的方式,也是最理想的,但是有時候沒有相應的Cmdlet來完成我們想要的操作,就需要另找其他方法了。
2,CIM/WMI方式:呼叫方法;
CIM:Common Information Model 是WMI建立的標準
WMI:Windows Management Instrumentation WMI是一項外部技術,僅僅是與PowerShell有建立介面而已。
比如可以使用:Get-WmiObject win32_NetworkAdapterConfiguration獲取網絡卡繫結的配置資訊;
PS C:\Users\Administrator> Get-WmiObject win32_NetworkAdapterConfiguration | ft -wrap DHCPEnabled IPAddress DefaultIPGateway DNSDomain ServiceName Description ----------- --------- ---------------- --------- ----------- ----------- True kdnic Microsoft Kernel Debug Ne twork Adapter True {192.168.2.107, fe80::6d3c:d25e:9bd:c0d0} {192.168.2.1} RTWlanE Realtek RTL8188EE Wireles s LAN 802.11n PCI-E NIC True vwifimp Microsoft Wi-Fi Direct Vi rtual Adapter
使用:
gwmi win32_networkadapterconfiguration | gm -MemberType Method
獲取有哪些方法,使用Invoke-WmiMethod 使用該方法,例如開啟Intel網絡卡的DHCP功能:
PS C:\Users\Administrator> gwmi win32_networkadapterconfiguration `
>> -Filter "description like '%intel%'" |
>> Invoke-WmiMethod -Name EnableDHCP
執行結果中包括大量系統物件,我們只要看ReturnValue是否為0,0表示成功。
若使用CIM方式,可對應使用Invoke-CimMethod呼叫對應的方法:
PS C:\Users\Administrator> Get-CimInstance -ClassName Win32_NetworkAdapterConfiguration `
>> -Filter "description like '%intel%'" |
>> Invoke-CimMethod -MethodName EnableDHCP
WMI使用RPC網路通訊;CIM使用WS-MAN通訊。
3,最後的方法:列舉物件
ForEach-Object
例如:獲取x開頭的服務,將其停止,Get-Service | gm -MemberType Method 獲取所有方法;使用Stop方法,
Get-Service -Name x* | ForEach-Object {$_.Stop()}
下面列舉其他方法停止X開頭的服務:
首選方式-批處理Cmdlet:
Get-Service -Name x* | Stop-Service
WMI方式:
PS C:\Users\Administrator> Get-WmiObject Win32_Service -Filter "Name Like 'x%'" |
>> Invoke-WmiMethod -Name StopService
WMI和ForEach-Object結合的方式:
PS C:\Users\Administrator> Get-WmiObject Win32_Service -Filter "Name Like 'x%'" |
>> ForEach-Object {$_.StopService()}
Cmdlet方式:
PS C:\Users\Administrator> Stop-Service -Name x*
大概就是使用Get-Something | Get-Member 獲取物件的方法,使用ForEach-Object列舉物件,呼叫方法進行批處理;
如果是WMI/CIM方式 也可使用Invoke-WMIMethod/CIMMethod
----End----
相關推薦
PowerShell物件的批處理方法
一般我們認為欸的批處理是迴圈遍歷物件,一個一個的進行處理,這種思想在PowerShell也是可用的,同時還有更好的批處理方法,下面介紹幾種批處理方法: 1,使用PowerShell Cmdlet進行批處理; 利用管道(Pipeline)將一個Cmdlet產生的結果傳輸給另
【讀書1】【2017】MATLAB與深度學習——批處理方法的實現(2)
這表明,批處理方法需要更多的時間來訓練神經網路,以產生與SGD方法類似的精度水平。 This indicates that the batch methodrequires more time to train the neural network to yie
es5下物件相關的屬性和物件的處理方法
1.新建物件: new、自面量、建構函式例項 Object.create(Object.prototype) 2.刪除物件屬性: delete o.x 3.檢測物件屬性是否存在: (1)in “x” in obj //返回布林值 4.列舉屬性 (1)for in
在Bat批處理中調用Powershell腳本
pushd fff 格式 ## popd it資訊 man ext command ##如何在BAT中調用powershell,把下面代碼另存為bat格式 pushd %~dp0 powershell.exe -command ^ "& {set-executi
使用windows批處理安裝windows系統補丁的方法
windows 批處理 更新補丁代碼如下:“@Echo OffTitle Install Windows Update packEcho 正在安裝Windows系統補丁,請稍等......for %%i in (.exe) do %%i /passive /norestart /nobackupFor %%
在批處理中判斷延遲環境變量擴展是否已啟用的方法
延遲環境變量擴展研究背景 由於特殊原因,有時我們需要在批處理中判斷延遲環境變量擴展是否已啟用,可以用下面的方法進行判斷。使用腳本@echo off setlocal enabledelayedexpansion set layedexpansion=1&if not "!laye
在批處理顯示Unicode特殊符號的方法
批處理顯示特殊符號 Unicode特殊符號 批處理獲取特殊符號 特殊符號編碼 UTF-8無BOM編碼 研究背景 有時我們需要在批處理中顯示諸如★、●、?、?、?等特殊符號,但一般的批處理腳本文件使用的都是ANSI編碼,這種編碼是不能保存Unicode字符的,但很多特殊符號偏偏使
C++影象批處理:讀取資料夾中全部影象的方法
string file_path = "H:\\image data\\"; string search_path = file_path + "*.jpg"; vector<string> file_list; if (!get_
Neo4j安裝事項報錯:powershell命令提示符出現“不是內部或外部命令,也不是可執行的程式或批處理檔案
這些天因為老闆需求,搗鼓下Neo4j,在win7上按照網上的教程安裝,順風順水;但是在伺服器上(winServer2012R2)安裝卻是報錯:powershell命令提示符出現“不是內部或外部命令,也不是可執行的程式或批處理檔案 解決辦法:在環境變數path後新增上powershell的路徑(C
JDBC事務、批處理、大物件的基本使用
一、測試事務的概念和用法 package com.chenfu.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import
大物件(LOB)、批處理與元資料
1.大物件LOB LOB,即Large Objects(大物件),是用來儲存大量的二進位制和文字資料的一種資料型別(一個LOB欄位可儲存可多達4GB的資料)。分為BLOB 和CLOB。 大文字CLOB: CLOB(Character Large Object) – 用於儲存大量的文字資料
Dos批處理命令bat檔案執行完以後自動關閉dos視窗的方法
Dos 批處理命令 bat Dos 批處理命令 bat 檔案執行完以後自動關閉 dos 視窗的方法: 很多人執行完批處理命令發現 dos 視窗不能自動關閉,那是因為你在 bat 檔案中直接執行了需要執行的某些外部程式, 如果希望 dos 視窗自動關閉,
javasc中字串(String)物件及處理字串的方法
字串的屬性 length 的介紹: 在JavaScript 中,對於字串來說,要掌握的屬性就只有一個,那就是 length 屬性.我們可以通過 length屬性來獲取字串的長度. 語法:字串名稱.length 說明:length 屬性很簡單,但是在字串操作中經常要用到,這個大家一定
[Xcode10 實際操作]八、網路與多執行緒-(18)PerformSelector訊息處理方法:由執行時系統,負責去呼叫物件的指定方法
本文將演示PerformSelector訊息處理方法。在專案資料夾上點選滑鼠右鍵彈出檔案選單。【New File】->【Swift File】->【Next】->【Save As】:iOSApp.swift->【Create】現在開始編寫程式碼,建立Swift類【iOSApp.swif
更好的批處理指令碼語言 PowerShell
微軟在 2006 年推出首款 PowersShell 1.0 版本,適用於 Windows Server 2008 作業系統,並作為 PowersShell 2.0 被正式預裝在之後的 Windows 7 作業系統中。在 Windows 8 中,內建的 PowerShell 更進一步,升級為
批處理延時方法
批處理中經常需要延時等待,下面給出一種延時的方法: 1、 ping 127.1 -w 1000 -n 6 >nul 這條命令的意思是第秒ping一下127.0.0.1這個地址,用來測試網路迴路;命令執行6次,第1 次是立即執行,之後的5次是每隔1秒報告1次;>nul的意思是把回顯
Java時間處理類 SimpleDateFormat物件的parse方法處理12點變成00點
SimpleDateFormat是個用得很高頻率的時間處理類 該物件的倆個主要方法: parse方法:將字串型別(java.lang.String)解析為日期型別(java.util.Date)
LSMW批處理使用方法(1)_總述及操作介面說明
原文出處: http://blog.sina.com.cn/sapinfo http://blog.sina.com.cn/s/blog_4e997c6701000b7p.html 一.總述 在SAP系統中,批處理操作有多種方法。如果是對一個事物碼(T
25.【批處理及PreparedStatement物件】
批處理 當向資料庫傳送多條不同的SQL語句時,可以使用Statement實現批處理。Statement通過addBatch()方法新增一條SQL語句,通過executeBatch()方法批量執行SQL語句。 public static void main(Str
氣泡排序和字串(String)物件及處理字串的方法
氣泡排序 第一種方法 var times=0; var arr=[12,3,6,9,77,37]; for(var i=0;i<arr.length-1;i++){ //控制比較的行數 for (var j=0;j<arr.length-i-1;j+