powershell を使用してアカウント資格情報を構成しようとしていますが、機能させるには、アカウントに「サービスとしてログオン」権限を付与する必要があります。powershellでこれを行うにはどうすればよいですか?
50671 次
12 に答える
7
これが私がそれを解決した方法です:
根拠:この記事
カーボンはこちらからダウンロードできます
最初に Carbon モジュールを次のようにインポートします。
Import-Module -Name $Path_To_Carbon -Global -Prefix CA
[array]$UserPrivileges = Get-CAPrivileges -Identity $UserName;
[bool]$LogOnAsAServiceprivilegeFound = $false;
if ($UserPrivileges.Length > 0)
{
if ($UserPrivileges -contains "SeServiceLogonRight")
{
$LogOnAsAServiceprivilegeFound = $true;
}
}
if ($LogOnAsAServiceprivilegeFound -eq $false)
{
Grant-CAPrivilege -Identity $UserName "SeServiceLogonRight"
}
于 2014-03-03T19:20:52.003 に答える
4
この関数は、簡潔さと機能のバランスが取れています。権限を付与する前に、ユーザーがすでに権限を持っているかどうかを確認します。
すべての種類の特権権に対してこれをテストしたわけではありませんが、ほとんどの場合は機能するはずです。
function Add-RightToUser([string] $Username, $Right) {
$tmp = New-TemporaryFile
$TempConfigFile = "$tmp.inf"
$TempDbFile = "$tmp.sdb"
Write-Host "Getting current policy"
secedit /export /cfg $TempConfigFile
$sid = ((New-Object System.Security.Principal.NTAccount($Username)).Translate([System.Security.Principal.SecurityIdentifier])).Value
$currentConfig = Get-Content -Encoding ascii $TempConfigFile
if ($currentConfig | Select-String -Pattern "^$Right .*$sid.*$") {
Write-Host "Already has right"
}
else {
Write-Host "Adding $Right to $Username"
$newConfig = $currentConfig -replace "^$Right .+", "`$0,*$sid"
Set-Content -Path $TempConfigFile -Encoding ascii -Value $newConfig
Write-Host "Importing new policy on temp database"
secedit /import /cfg $TempConfigFile /db $TempDbFile
Write-Host "Applying new policy to machine"
secedit /configure /db $TempDbFile /cfg $TempConfigFile
Write-Host "Updating policy"
gpupdate /force
Remove-Item $tmp* -ea 0
}
}
#Example
Add-RightToUser -Username 'MyDomain\MyUser' -Right 'SeServiceLogonRight'
于 2021-02-18T00:41:24.493 に答える
1
PowerShell には、これを行うためのネイティブな手段がありません。つまり、おそらく WMI または ADSI のいずれかを見ることになるでしょう。VBScript で例を見つける可能性が高くなります。プログラムでユーザー権利を割り当てる方法を理解したことがあります。ただし、それができないというわけではありませんが、特に PowerShell の領域の外を見ていることになるでしょう。
于 2008-11-25T15:42:23.817 に答える