Powershell新手在这里,我的第一个剧本。
我的用户对象具有名为tvCode的AD自定义属性,其值为123456或6787682或983736等。
我想编写一些可以从用户对象中获取tvCode值的脚本
When:
123456 = Sony
6787682 = Samsung
9837343 = LG
写下" Sony"的价值或"三星"或" LG"到了城市"用户对象的属性。
看起来我可能需要使用哈希表。
如果可能,请针对特定OU执行此操作
希望这是有道理的
感谢
答案 0 :(得分:1)
function Convert-TVCode {
Param
(
[parameter(Mandatory=$true,Position=0,ValueFromPipeline=$true)]
[String[]]
$Code
)
Process {
foreach ($C in $Code) {
switch ($C) {
"123456" {$brand = "Sony"}
"6787682" {$brand = "Samsung"}
"9837343" {$brand = "LG"}
default {
$brand = $null
Write-Warning "$C not included in switch statement. Returning"
return
}
}
if ($brand) {
Write-Verbose "Code '$C' matched to Brand '$brand' -- searching for users to update"
Get-ADUser -Filter "tvCode -eq '$C'" | Set-ADUser -Replace @{tvCode=$brand}
}
}
}
}
此功能允许您更新将tvCode
属性设置为目标数值之一的任何用户。您也可以同时点击多个代码。
示例:
Convert-TVCode -Code 123456
Convert-TVCode -Code 123456,6787682
Convert-TVCode -Code 123456,6787682,9837343 -Verbose
更新函数中的switch语句,将其自定义为您的实际值,如果您有任何问题,请告诉我们!