このスクリプトがなぜ機能しないのか分かりません。私の代わりにPS Cの左端に「>>」それだけで次の行に行くと持って、それを実行しようとすると:\ Users \ユーザー名>OSを検出してシステムIFシステムにインストールされているSQLのバージョンを表示するPowershellスクリプト
$Version = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\Currentversion" -Name Productname).Productname | if ($version -like "*server*") {Get-ItemProperty HKLM:\software\microsoft\windows\currentversion\uninstall\* | Where-Object {$_.displayname -match "sql server"}
私はここで間違って何をやったか、誰が見ていますか?私は両方の部分が独立して動作することを確認することができます。if文と一緒に置くと問題が発生しているようです。
編集:$version = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\Currentversion" -Name Productname).Productname ; if ($version -like "*server*") { Get-ItemProperty HKLM:\software\microsoft\windows\currentversion\uninstall\* | Where-Object {$_.displayname -match "sql server"} }
これは機能しました。
あなたは 'if(){thing |どこに{} 'があり、'} 'がありません。あなたは 'get-thing | if ... 'at – TessellatingHeckler
OSのバージョンを見つける方法はありますか?サーバだけでSQLバージョンを表示するコマンドを実行しますか? – Maxadon
Active Directoryをお持ちですか? – ArcSet