powershell - Powershell:从文件创建用户并在共享上创建目录
问题描述
您好我正在尝试设置一个脚本来导入用户的 txt 文件,分隔名字/姓氏,然后在 OU 中创建用户。这可行,但是我尝试在它之后添加另一个命令,但仍然在在共享上创建目录的循环中,因为当我尝试在命令中尝试为用户设置主目录时,主目录已设置但目录是从未创造。因此,我试图将创建目录添加到此命令中,但出现错误:
Get-Content C:\Users\test.user\Desktop\name.txt | ForEach-Object {
$Split = $_.Split(" ");
$given=$Split[0];
$sur=$Split[1];
$uname=$given + "." + $sur;
New-ADUser -GivenName $given -Surname $sur -Name ($given + " " + $sur) `
-UserPrincipalName (($uname + "@" + "$env:userdnsdomain")).ToLower() `
-path "OU=testou, DC=testdomain, DC=local" -SamAccountName ($uname).ToLower() `
-AccountPassword (ConvertTo-SecureString -AsPlainText "pass-word1" `
-Force) -Enabled $true -ChangePasswordAtLogon $true `
-Verbose New-Item -Path "\\testdomain.local\userdata\test users\$uname" -ItemType "directory"
}
New-ADUser : Cannot bind parameter because parameter 'Path' is specified more than once. To provide multiple values to parameters that can accept multiple values, use the array syntax. For example, "-parameter value1,value2,value3". At line:1 char:509
我不确定如何像它推荐的那样去做,因为我是脚本新手。如何将 New-Item -Path 命令添加到命令中,以便在共享上创建目录,然后我可以为其设置用户主目录。然后我可能会尝试将主目录设置到此命令中。我试图删除 -Path,因为您可以在没有它的情况下创建目录,但是它给出了一个错误:New-ADUser:找不到接受参数“New-Item”的位置参数。在行:1 字符:161
任何帮助将不胜感激
解决方案
在为您格式化代码时,问题是您缺少一个;
. 这是更新的版本。下一次尽量不要单行它,它会让你费时费力地弄清楚发生了什么。
Get-Content C:\Users\test.user\Desktop\name.txt | ForEach-Object {
$Split = $_.Split(" ");
$given=$Split[0];
$sur=$Split[1];
$uname=$given + "." + $sur;
New-ADUser -GivenName $given -Surname $sur -Name ($given + " " + $sur) `
-UserPrincipalName (($uname + "@" + "$env:userdnsdomain")).ToLower() `
-path "OU=testou, DC=testdomain, DC=local" -SamAccountName ($uname).ToLower() `
-AccountPassword (ConvertTo-SecureString -AsPlainText "pass-word1" `
-Force) -Enabled $true -ChangePasswordAtLogon $true `
-Verbose -WhatIf # Semi-colon here if you want it a one-liner, or new line for readability
New-Item -Path "\\testdomain.local\userdata\test users\$uname" -ItemType "directory" -WhatIf
}
New-Item
需要在新行上,或者分号需要在之后-Verbose
。
编辑
根据 postanote 的评论添加到 -WhatIf 中,我同意。
推荐阅读
- java - 转换 Java Stream 并返回减少的值
- php - 为什么我的函数不在我的表格中的单元格中?
- asp.net - 微软翻译 API v3, ASP.NET VB.NET
- python - 使用新生成的令牌进行 API 调用时遇到问题。PARTNER_AUTHENTICATION_FAILED?
- terraform - 如何在 terraform 中定义“假设角色策略”?
- google-chrome-extension - 如何仅向特定登录用户授予对 Chrome 扩展程序内容的访问权限?
- c# - 尝试构建核心 2.2 User Helper
- python - 如何从该 URL 获取氨基酸序列?
- c++ - C++ 文件句柄
- java - 检查java流是否已被消费