[英]Powershell - json File - Active Directory - add Attribut
[英]Powershell - Looking Up File Owner in Active Directory
如何在Active Directory中查找有關文件所有者的信息? 以下內容不起作用,因為它會將Domain \\ User解析為Get-ADUser命令
$owner = Get-Acl file.txt | Select-Object Owner | Out-String
Get-ADUser -Identity $owner
我還希望能夠查詢其他域中的用戶,因為默認情況下,Get-ADUser會查詢您的本地域。
Get-ADUser
的問題在於它正在尋找您
通過用戶的專有名稱(DN),GUID,安全標識符(SID),安全帳戶管理器(SAM)帳戶名或名稱來識別用戶。
字符串“ domain \\ username”不符合預期之一。 而是這樣的事情:
$domains = @{
DOMAIN = "dc.domain.local"
}
$file = "F:\temp\Re__.msg"
$fileOwner = Get-Acl $file | Select-Object -ExpandProperty Owner
$account = New-Object -TypeName PSObject -Property @{
domain = $fileOwner.Split("\")[0]
username = $fileOwner.Split("\")[1]
}
If($domains.ContainsKey($user.domain)){
$server = $domains[$user.domain]
Get-ADUser -Server $server -Identity $user.username
} Else {
Write-Warning "No matching server for the domain: $($user.domain)"
}
創建域的哈希表,並從這些域創建DC。 然后從$file
查詢所有者。 將該所有者分為其域和用戶名。 然后使用$user.domain
查找匹配的域控制器以搜索用戶。
您還可以使用.Net Framework來獲取SID並將其傳遞給Get-ADUser:
$user = New-Object System.Security.Principal.NTAccount (get-acl 'file.txt').owner
$sid = $user.Translate([System.Security.Principal.SecurityIdentifier]).Value
Get-ADUser $sid
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.