【发布时间】:2016-03-29 04:52:16
【问题描述】:
function contactOU
{
#This selects which OU to place the contact in.
write-host
write-host '~Contact type~'
write-host '1. Admin'
write-host '2. Assistant Owner'
write-host '3. Owner Partner'
write-host '4. Owner'
write-host '5. Team Leader'
write-host
$contacttype = (Read-host -prompt 'Which type of contact')
if($contacttype = "1") {$contactOU = "OU=Admins,OU=Marketing Companies,OU=Contacts,DC=company,DC=com,DC=au"}
if($contacttype = "2"){$contactOU = "OU=Assistant Owners,OU=Marketing Companies,OU=Contacts,DC=company,DC=com,DC=au"}
if($contacttype = "3"){$contactOU = "OU=Owner Partner,OU=Marketing Companies,OU=Contacts,DC=company,DC=com,DC=au"}
if($contacttype = "4"){$contactOU = "OU=Owners,OU=Marketing Companies,OU=Contacts,DC=company,DC=com,DC=au"}
if($contacttype = "5"){$contactOU = "OU=Team Leaders,OU=Marketing Companies,OU=Contacts,DC=company,DC=com,DC=au"}
else{write-host 'Please select a valid number',contactOU}
#For testing
write-host $contactOU
#May put this in an individual function?
New-ADObject -name $contactname -type Contact -Path $contactOU -OtherAttributes @{displayName=$contactname;mail=$emailaddress;targetAddress=$targetaddress}
}
我遇到的问题是,无论我选择什么数字,IF 语句都选择最后一个选项? (组长OU)。有人知道我的 IF 语句有什么问题吗?
【问题讨论】:
-
实际上,在 if 语句中,您的 $contacttype 设置为 1,而不是 2, 3, 4 ,5,因为 '=' 是指赋值,而不是比较。
标签: powershell if-statement active-directory