我们有一个基于员工姓名的逗号分隔文件名的 JPG 文件列表(即:“Smith, John.jpg”)。我想根据他们的用户名(即:“jsmith.jpg”)创建此文件的副本。
所以基本上我认为我需要根据文件名中的姓氏和名字来搜索 AD,找到 SAMAccountName,然后使用该名称创建文件的副本。
谁能帮我解决这个问题?
编辑:
多亏了以下帮助,这就是我所做的:
Import-Module ActiveDirectory
$Folder = "G:\Photos" # folder that contains the JPG files
$Files = get-childitem $Folder
foreach ($file in $files)
{
$CurrentFileName = $file.name
$SplitCurrent = $CurrentFileName.Split(", ")
$LastName = $SplitCurrent[0]
$FirstName = $SplitCurrent[2].Substring(0,$SplitCurrent[2].Length-4)
$UserName = Get-ADUser -Filter 'GivenName -eq $FirstName -and sn -eq $LastName' -properties SamAccountName | select -ExpandProperty SamAccountName
$NewFileName = $UserName + ".jpg"
Copy-Item -Path $file.FullName -Destination "$Folder\$NewFileName"
}
谢谢!
我认为您不需要从 AD 获取任何内容,只要 JPG 文件的文件名与用户名匹配即可。
编码:
$Folder = "C:\Test" # folder that contains the JPG files
$Files = get-childitem $Folder
foreach ($file in $files)
{
$CurrentFileName = $file.name
$SplitCurrent = $CurrentFileName.Split(",")
$LastName = $SplitCurrent[0]
$FirstInitial = $SplitCurrent[1].Substring(0,1)
$NewFileName = $LastName + $FirstInitial + ".jpg"
Copy-Item -Path $file.FullName -Destination "$Folder\$NewFileName"
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句