, gözyaşı ve bu kurullarında millet inanılmaz yardım Sonunda benim kod çalışma var, ama kırpma ve büyük harf ile biraz yardıma ihtiyacım var. Bir şey oluşturulduktan sonra bir şeyi nasıl değiştireceğimi anlıyorum, ama işlenmeden önce dönüştürmeyi tercih ederim.Powershell .ToUpper ve kaldırmak alanlarda kan, ter bir sürü sonra
#Create Security Groups
$GroupParams1= @{
'Name' = "FS-$NAME-RW".ToUpper
'SamAccountName' = "FS-$NAME-RW".ToUpper
'GroupCategory' = "Security"
'GroupScope' = "Global"
'DisplayName' = "$NAME Read-Write Access"
'Path' = "OU=$LOCATION,OU=FILE SHARE GROUPS,OU=Security Groups,DC=esg,DC=intl"
'Description' = "Members of this group have read-write access to $Path."
}
o doğruysa, nasıl $ Adı Giriş nedeniyle eklenecek OLABİLİR boşluk kaldırırım:
bu doğru sözdizimi var mı?
Bu örnekte, "Test Share 123" adlı bir klasörün oluşturulmasını istiyorum, ancak bunun için oluşturulmuş olan AD grubunun "FS-TESTSHARE123-R" ve "FS-TESTSHARE123" olarak adlandırılmasını istiyorum. -RW "yerine" FS-Test Share 123-R. " Ayrıca
, benim senaryo üzerinde başka öneriniz var mı?$Parent = read-host -prompt "Enter full parent path that will contain the new folder (ie. \\eccofs01\Groups\ECCO IT\)"
$Name = read-host -prompt "Enter New Folder Name."
$Path = "$($parent)$($Name)"
$Location = read-host -prompt "Enter the AD Security Group Location (i.e. Global, Americas, Europe, Asia Pacific)"
Import-Module ActiveDirectory
#Create Security Groups
$GroupParams1= @{
'Name' = "FS-$NAME-RW"
'SamAccountName' = "FS-$NAME-RW"
'GroupCategory' = "Security"
'GroupScope' = "Global"
'DisplayName' = "$NAME Read-Write Access"
'Path' = "OU=$LOCATION,OU=FILE SHARE GROUPS,OU=Security Groups,DC=esg,DC=intl"
'Description' = "Members of this group have read-write access to $Path."
}
New-ADGroup @GroupParams1
$GroupParams2= @{
'Name' = "FS-$NAME-R"
'SamAccountName' = "FS-$NAME-R"
'GroupCategory' = "Security"
'GroupScope' = "Global"
'DisplayName' = "$NAME Read-Write Access"
'Path' = "OU=$LOCATION,OU=FILE SHARE GROUPS,OU=Security Groups,DC=esg,DC=intl"
'Description' = "Members of this group have read access to $Path"
}
New-ADGroup @GroupParams2
# Create New Folder
New-Item -Path $Path -ItemType Directory
#Create All ACEs (permission sets) and Set ACL on the new folder
function New-Ace {
[CmdletBinding()]
Param(
[Parameter(Mandatory=$true, Position=0)]
[Security.Principal.NTAccount]$Account,
[Parameter(Mandatory=$false, Position=1)]
[Security.AccessControl.FileSystemRights]$Permissions = 'ReadAndExecute',
[Parameter(Mandatory=$false, Position=2)]
[Security.AccessControl.InheritanceFlags]$InheritanceFlags = 'ContainerInherit,ObjectInherit',
[Parameter(Mandatory=$false, Position=3)]
[Security.AccessControl.PropagationFlags]$PropagationFlags = 'None',
[Parameter(Mandatory=$false, Position=4)]
[Security.AccessControl.AccessControlType]$Type = 'Allow'
)
New-Object Security.AccessControl.FileSystemAccessRule(
$Account, $Permissions, $InheritanceFlags, $PropagationFlags, $Type
)
}
$domain = 'ESG.INTL'
$administrators = ([wmi]"Win32_Sid.Sid='S-1-5-32-544'").AccountName
$acl = Get-Acl $path
$administrators, "$domain\Domain Admins" | ForEach-Object {
$acl.AddAccessRule((New-Ace $_ 'FullControl'))
}
$acl.AddAccessRule((New-Ace "$domain\FS-$NAME-RW" 'Modify'))
$acl.AddAccessRule((New-Ace "$domain\FS-$NAME-R" 'ReadAndExecute'))
Set-Acl $path $acl
Harika, teşekkürler! Bu bir ton yardımcı olur. Geriye doğru düşünmekteydim ve ilk olarak şunu hatırlatıyordu ki bu da onu kafa karıştırıcı hale getiriyordu ... –
Rica ederim! Buraya ilk defa bir hesapla, yardımcı olabileceğime sevindim! Kodum aslında bir parens kaçırdı ama sanırım bunu anladın. – 2o1o0
Evet, koştum ve hatayı gördüm. Yine de endişelenme. : D –