我正在使用Primal Forms社區版來創建GUI,以便爲我們的祕書創建新的學生創建過程。在較低級別的學校,學生使用他們的生日作爲他們的密碼,以便他們很容易記住。無法將字符串轉換爲安全字符串以便在New-ADUser中使用
我有一個文本輸入框被標記爲「生日」字段。我所要做的就是採取該字段並將其用於New-ADUser中的-AccountPassword。但是,無論我嘗試什麼,嘗試使用腳本創建新用戶時總會遇到此錯誤。
New-ADUser : Cannot bind parameter 'AccountPassword'. Cannot convert the "System.Security.SecureString" value of type
"System.String" to type "System.Security.SecureString".
At C:\Users\pomeroyt\Google Drive\Work\Scripts\Powershell\student_creation_gui.ps1:377 char:12
+ New-ADUser @User
+ ~~~~~
+ CategoryInfo : InvalidArgument: (:) [New-ADUser], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.ActiveDirectory.Management.Commands.NewADUser
我正在使用的代碼如下所示。
$password = $dob.text | ConvertTo-SecureString -AsPlainText -Force
$user = @{
Description = "Student"
UserPrincipalName = "[email protected]"
Name = "$lname.text, $fname.text"
SamAccountName = "$username"
Surname = "$lname.text"
GivenName = "$fname.text"
EmailAddress = "$email"
HomeDrive = H:
HomeDirectory = "\\$server\Students\$yog\$username"
ScriptPath = "$script"
ChangePasswordAtLogon = 0
CannotChangePassword = 1
PasswordNeverExpires = 1
AccountPassword = "$password"
Enabled = 1
Path = "OU=$yog,OU=$group,OU=STUDENTS,DC=domain,DC=local"
}
New-ADUser @User
我真的在這裏損失,因爲我看到的一切說,我在做什麼應該工作
編輯 -
解決方案下面沒有解決問題的密碼。但是,我沒有意識到我實際上看到了我的代碼的其他問題。
我打開-verbose查看發生了什麼,發現名稱字段輸出不正確。當爲Name輸入「$ lname,$ fname」時,出於某種原因導致完全輸出$ lname。我創建了一個名爲$ name的新字符串,並將其設置爲= $ lname.text +「,」+ $ fname.text。
Now Name = $ name,命令按預期觸發。
我對您的Excel問題的答案給你,但你刪除它之前,我可以將它張貼。 –