を理解されるであろう、私はちょうど書いたものです。あなたはそれをよりダイナミックにすることができます
function Replace-SecurityTest([string[]]$Usernames,[string]$SecuritySetting, $SaveFile = "C:\Configuration.cfg"){
function Get-SID($USER){
$objUser = New-Object System.Security.Principal.NTAccount("$USER")
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value
}
secedit /export /cfg $SaveFile
$reader = [System.IO.File]::OpenText($SaveFile)
while($null -ne ($line = $reader.ReadLine())) {
if ($Line -like "*$SecuritySetting*"){
$reader.Close()
$line2 = $line.Remove($line.IndexOf("="))
$line2 += "= "
foreach($user in $Usernames){
$line2 += "*$(Get-SID -USER "$user"), "
}
$line2 = $line2.Remove($line2.LastIndexOf(", "))
(gc $SaveFile).replace("$Line", "$Line2") | Out-File $SaveFile
secedit /configure /db c:\windows\security\local.sdb /cfg $SaveFile /areas SECURITYPOLICY
rm -force $SaveFile -confirm:$false
break
}
}
}
Replace-SecurityTest -Usernames "Administrators" -SecuritySetting "SeSystemtimePrivilege" -SaveFile "C:\Config22.cfg"
正確に何を試しましたか、どこで失敗しましたか?あなたのコードを記入してください。あなたのコードを書くのではなく、問題を解決するのに役立ちます。 – Nick
"cmd ntrights + r SeSystemtimePrivilege -u Administrators" @Nick –
cmdでntrightコマンドが存在しないことを示しています –