1

特定のフォルダーをバックアップするスクリプトを作成し、HKLM...\ProfileLists の下のターゲット ユーザーの GUID キーの名前を変更しようとしていますが、rename-item コマンドはキーのコピーを作成し、名前が追加された新しいキーを作成します。アクセス

-force で試し、名前の変更の代わりに move-item で試しましたが、まったく同じ結果が得られます。元のキーとまったく同じですが、名前が追加された新しいキーです。

if ((Test-Path $FULLPATH)) { 
    Rename-Item $FULLPATH -NewName "$SSID.bak" -Force 
    if ($?) { 
         Write-Host "$USERNAME was SUCCESSFULLY renamed in the registry" 
    } 
} 

期待される結果は、レジストリ内の GUID キーの名前のみを変更することです。実際の結果は、新しい複製に正しい名前が追加された複製キーです。

Rename-Item : 指定されたパスにレジストリ キーが存在しません。行:9 文字:5 + Rename-Item $FULLPATH -NewName "$SSID.bak" -Force + ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (HKEY_LOCAL_MACH...\folderredirect:String) [Rename-Item], ArgumentException + FullyQualifiedErrorId : System. ArgumentException、Microsoft.PowerShell.Commands.RenameItemCommand

Rename-Item : オブジェクト参照がオブジェクトのインスタンスに設定されていません。行:9 文字:5 + Rename-Item $FULLPATH -NewName "$SSID.bak" -Force + ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Rename-Item], NullReferenceException + FullyQualifiedErrorId : System.NullReferenceException,Microsoft.PowerShell.Commands .RenameItem コマンド

キーは存在し、証明として同じコマンドを再度実行できます (テストパスのため)。

詳細な出力は、そのコピーを確認します

VERBOSE: Performing the operation "Copy Key" on target "the key in question"
4

2 に答える 2