パッケージを介して SCCM によって展開される powershell スクリプトを作成しています。これの目的は、特定の名前のアカウントを削除し、アカウントが存在するかどうかを示すファイルに書き込むことです。コードは以下のとおりです。
$Computer = hostname
foreach ($C in $Computer) {
if (Test-Connection $C -Quiet) {
Write-Verbose "$C > Online"
$Users = Get-WMIObject Win32_UserAccount -Filter "LocalAccount=True" -ComputerName $C
if ($Users.Name -contains 'test') {
Add-Content \\SERVERNAME\SHARENAME.$\$computer-found_$(get-date -Format yyyymmdd_hhmmtt).txt "User 'test' found, Disable 'test' found"
net user test /active:no }
else {
Add-Content \\SERVERNAME\SHARENAME.$\$computer-notfound_$(get-date -Format yyyymmdd_hhmmtt).txt "User 'test' not found"
}
}
else {
Write-Verbose "$C > Offline"
}
}
とを置き換えWrite-Verbose
てみましたが、問題は、完全なネットワーク パスまたは共有を使用すると、コンテンツ/ファイルが作成されないことです。たとえば、識別されたパスにはすべての正しいアクセス許可があり、システム アカウントを使用してローカルで実行されています。Write-Host
Add-Content
Out-File
\\SERVERNAME\SHARENAME.$
ファイルをローカルに書き込むときに問題が発生したかどうかを確認したかったため、書き込み時にこれは発生しませんC:\Temp\
これを解決するためのアイデアはありますか。