PowerShellを使用してレジストリを変更する
次の例では、PowerShellはレジストリキーを修正して、セキュリティループの無効化、およびループバックチェックの無効化を完了します。
#Security loop disable so that you can look at it on the same machine
if(($gchn = Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\" -Name "BackConnectionHostNames" - ea SilentlyContinue) -eq $null){
New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\" -PropertyType MultiString -Value "$url" -Name " quot;BackConnectionHostNames"
}else{
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\" -Name "BackConnectionHostNames" -Value ($gchn .BackConnectionHostNames+" $url")
}
#disable loobback check
if((Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\" -Name "DisableLoopbackCheck" -ea SilentlyContinue) -eq $null){
New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\" -PropertyType DWORD -Value "1" -Name " DisableLoopbackCheck"
}
みんなの例、powershellでレジストリを操作する方法を紹介します。
レジストリキーにアクセスする
PowerShell では、ユーザーは HKCU: (HKEY_CURRENT_USER として) および HKLM: (HKEY_LOCAL_MATCHINE として) と同様の仮想ドライブを通じてレジストリキーにアクセスできます。
例えば Dir Registry::HKEY_LOCAL_MACHINESoftware
このように、ユーザーはレジストリ内のキーを簡単にコピー&ペーストすることができ、ユーザーは以下のコマンドで登録されたファイルの接尾辞を取得することができます。
dir Registry::HKEY_CLASSES_ROOT. * 名前|オブジェクトの並べ替え
レジストリキーの読み込み
PowerShellでは、レジストリの内容を仮想ドライブとして操作することができます。
以下のGet-RegidtryValues関数は、レジストリキーの下に格納されているすべてのキーを列挙するもので、そのコード全体を以下に示します。
function Get-RegistryValues($key) {
(Get-Item $key).GetValueNames()
}
Get-RegistryValues HKLM:\SoftwareMicrosoft⇄WindowsCurrentversion
Get-RegistryValueは、任意のレジストリキーを読み取り、その内容を返します。
function Get-RegistryValue($key, $value) {
(Get-ItemProperty $key $value). $value
}
Get-RegistryValue ' HKLM:\Software\Microsoft\Windows\Currentversion' `
SM_ゲーム名
レジストリキーへの書き込み
レジストリキーの追加や変更もPowerShellで簡単にできます。レジストリキーを操作するために、以下のSet-RegistryValueという関数が作成されましたので、完全なコードを以下に示します。
function Set-RegistryValue($key, $name, $value, $type="String") {
if ((Test-Path $key) -eq $false) { md $key | Out-Null }
Set-ItemProperty $key $name $value -type $type
}
Set-RegistryValue HKCU:\Software\TestABC myValue Hello
Set-RegistryValue HKCU:\Software\TestABC myValue 12 Dword
Set-RegistryValue HKCU:\Software\TestABC myValue `
([Byte[]][Char[]]"Hello") Binary
レジストリキーを削除する
Remove-Itemを介してターゲットレジストリキーを削除するRemove-RegistryKey関数の全コードは以下のとおりです。
function Remove-RegistryKey($key) {
Remove-Item $key -Force
}
レジストリ値は、Remove-ItemProperty 関数によって削除され、その完全なコードは以下のとおりです。
function Remove-RegistryValue($key, $value) {
Remove-ItemProperty $key $value
}
関連
-
nugetパッケージのファイル消失問題を解決するためのpowershellスクリプトを追加しました。
-
オリジナルpowershellスクリプト gadget ctracert.ps1 trace route(win8+系)
-
Powershellを選択すべき10の理由(cmdを捨てるべき)
-
PowerShell チュートリアル curl (Invoke-WebRequest) の使用方法について
-
PowershellによるWindowsログのクエリ方法
-
スクリプトの記述と実行のためのPowershellの実装
-
PowerShellによるファイル名変更のバッチ処理例
-
PowerShellファイル同期スクリプトを共有
-
PowerShellで複数ファイルからキーワードを取得する
-
共有レジストリからユーザー設定を取得するためのPowershellスクリプト
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ファイルサイズを一括で取得するPowershellコード
-
PowerShellでのmatchコマンドの使用方法について解説
-
PowerShellスクリプトのバッククオートの使用例です。いつでもどこでもコードに改行
-
文字列中の大文字を検索するPowerShellの実装
-
PowerShellでプログラム的にIEのキャッシュを空にする
-
PowerShellでファイル名の一括変更
-
コンピュータのシリアル番号を取得するためのPowershellスクリプト
-
コマンドライン履歴のコマンドをコピーするPowerShellメソッド
-
PowerShellでPrintManagementを使用してプリンターを管理する例
-
Powershell ISE 抽象構文木 プログラミング例