複数のリモートコンピュータでレジストリキー値を検索しようとしています。私のPCの共有フォルダに値を書き戻します。しかし、PCの共有フォルダに書き込む出力を指定すると、アクセス拒否エラーが発生します。 PowerShellを管理者として実行しています。Add-contentコマンドが私に「アクセスが拒否されました」UnautorizedAccessExceptionエラー
$computers = Get-Content "C:\Temp\AutoSug\Computers.txt"
$output_path = "\\mycomputername\powershell\output.csv"
$setscript =
{
param($output_path)
$hostname = (Get-CIMInstance CIM_ComputerSystem).Name
$objExcel = New-Object -ComObject Excel.Application
if ($objExcel.Version -eq "12.0")
{
$HKEY_USERS = Get-ChildItem REGISTRY::HKEY_USERS | where-object { ($_.Name -like "*S-1-5-21*") -and ($_.Name -notlike "*_Classes") }
$Users = @()
$value = @()
foreach ($User in $HKEY_USERS)
{
$PROFILESID = Get-ChildItem REGISTRY::"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" | Where-Object { $_.name -like "*" + $USER.PSChildName + "*" }
$SID = $PROFILESID.PSChildName
foreach ($value in $SID)
{
$key = Get-Item REGISTRY::HKEY_USERS\$VALUE\Software\Microsoft\Office\12.0\Outlook\Preferences -ErrorAction SilentlyContinue
$gold = $key.property
if($gold -like 'ShowAutoSug')
{
$grail = (Get-ItemProperty REGISTRY::HKEY_USERS\$VALUE\Software\Microsoft\Office\12.0\Outlook\Preferences).ShowAutoSug
$objSID = New-Object System.Security.Principal.SecurityIdentifier($value)
$objUser = $objSID.Translate([System.Security.Principal.NTAccount])
$hostname, $objUser, $value , $grail | Add-Content $output_path
}
else
{
$objSID = New-Object System.Security.Principal.SecurityIdentifier($value)
$objUser = $objSID.Translate([System.Security.Principal.NTAccount])
$hostname,$objUser, $value , "The Auto Complete is not disabled" | Add-Content $output_path
}
}
}
}
}
foreach($computer in $computers)
{
Invoke-Command -ComputerName $computer -ScriptBlock $setscript -ArgumentList $output_path
}
正確なエラーメッセージ:
Access to the path '\\mycomputername\powershell\output.csv' is denied. FullyQualifiedErrorId : GetContentWriterUnauthorizedAccessError,Microsoft.PowerShell.Commands.AddContentCommand
hmm。これはコピー貼り付けのエラーです。私のコードには2つのバックスラッシュがあります。 –