我正在尝试在创建OU之前检查是否存在OU.我的问题是我有2个母亲OU"USER BY SITE"和"GROUP BY SITE",我需要在那些2,1中存储完全相同的OU用于存储用户,另一个用于存储组.
到目前为止我使用了这个函数:
function CheckOUExist
{
param($OUToSeek)
$LDAPPath = "LDAP://dc=Domain,dc=local"
$seek = [System.DirectoryServices.DirectorySearcher]$LDAPPath
$seek.Filter = “(&(name=$OUToSeek)(objectCategory=organizationalunit))”
$Result = $seek.FindOne()
return $Result
}
Run Code Online (Sandbox Code Playgroud)
有我的问题,我总是在"GROUP BY SITE"中获得OU,即使$ LDAPPath ="OU = USERS BY SITE,DC = Domain,DC = local".我错过了什么吗?有没有办法让[System.DirectoryServices.DirectorySearcher]只在我在$ LDAPPath中给出的OU中工作?
如果您需要更准确的细节,我很乐意为您提供.
先感谢您.
我是PowerShell脚本的新手(自从我开始学习powershell以来将近一个月).
我目前正在使用powershell 2.0编写一个脚本来清理文件夹NTFS ACL.我想删除除管理员之外的每个acl.
我的问题是我找不到删除每个非管理员的acl的方法,而不知道它们.
所以我来到这里寻求powershell pro.
我尝试这个脚本时遇到问题:
$users = import-csv -delim ";" -path "C:\test\UsersToBeCreated.csv"
foreach($user in $users)
{
$pass = "Password2011"
$nom = $user.Surname
$prenom = $user.GivenName
$displayname = $prenom+" "+$nom
$login = $user.SamAccountName
$ou = "OU=" + $user.OU +",OU=UTILISATEURS,DC=domain,DC=local"
$description = $user.Description
$fonction = $user.Fonction
$mail = $user.Mail
$drive = $user.Share
$directory = $user.DirectoryShare+$login
$phone = $user.PhoneNumber
New-ADUser -name $displayname -surname $nom -givenname $prenom -displayname $displayname -samaccountname $login -accountpassword (convertto-securestring $pass -asplaintext -force) -Path $ou -description $description -title $fonction -EmailAddress $mail -HomeDrive $drive -HomeDirectory $directory …
Run Code Online (Sandbox Code Playgroud)