判斷操做系統版本,是個老話題,bat、vbs中都有例子,這本不是重要問題,我感腳不值得寫帖。
可是捏,隨着win版本的增多,powershell版本碎片化愈來愈嚴重了,因此《用powershell判斷操做系統版本》
才愈來愈重要了。也就是說,使用稍微偏一點的powershell命令前,你必須判斷操做系統版本。或者,強烈
推薦你們用最新版本win服務器,win客戶機玩powershell。shell
cmd+ver法:
貌似沒法無別服務器和客戶機。服務器
wmi法:
推薦操作系統
systeminfo法:
對中文系統,英文系統的命令有區別。cmd
[Environment]::OSVersion.VersionString法:
貌似沒法無別服務器和客戶機。io
判斷win7
(cmd /c ver)[1] -like "*6.1*"
或
[Environment]::OSVersion.VersionString -like "*6.1*"方法
(systeminfo /FO CSV | ConvertFrom-Csv ).'os 名稱' -like "*7*"
powershell 傳教士 原創文章。始於 2015-12-15 容許轉載,但必須保留名字和出處,不然追究法律責任
英文的系統用:
(systeminfo /FO CSV | ConvertFrom-Csv ).'os name' -like "*7*"
或用wmi方法:
(Get-WmiObject -Class Win32_OperatingSystem).Caption -like "*7*"英文
判斷win8,win8.1
(cmd /c ver)[1] -like "*6.3*"
或
[Environment]::OSVersion.VersionString -like "*6.3*"vi
(systeminfo /FO CSV | ConvertFrom-Csv ).'os 名稱' -like "*8*"
英文的系統用:
(systeminfo /FO CSV | ConvertFrom-Csv ).'os name' -like "*8*"
或用wmi方法:
(Get-WmiObject -Class Win32_OperatingSystem).Caption -like "*8*"vb
判斷win10
(cmd /c ver)[1] -like "*10.*"
或
[Environment]::OSVersion.VersionString -like "*10.*"中文
(systeminfo /FO CSV | ConvertFrom-Csv ).'os 名稱' -like "*10*"
英文的系統用:
(systeminfo /FO CSV | ConvertFrom-Csv ).'os name' -like "*10*"
或用wmi方法:
(Get-WmiObject -Class Win32_OperatingSystem).Caption -like "*10*"
判斷win2012 r2
(cmd /c ver)[1] -like "*6.3*"
或
[Environment]::OSVersion.VersionString -like "*6.3*"
(systeminfo /FO CSV | ConvertFrom-Csv ).'os 名稱' -like "*2012 r2*" 英文的系統用:(systeminfo /FO CSV | ConvertFrom-Csv ).'os name' -like "*2012 r2*" 或用wmi方法:(Get-WmiObject -Class Win32_OperatingSystem).Caption -like "*2012 r2*"