我希望创建一个可以执行许多操作的长脚本。
首先,脚本将获取目录中的文件夹列表并输出到文件 我有以下代码
Get-ChildItem -Path "filepath" | Select-Object Name | Out-File c:\dir.txt
文件的输出看起来像
我想删除前两行,然后删除列表中除前七个数字之外的所有字符,并将相同的文本添加到每个目录名的末尾,如下所示:
然后,在此之后,我想从这个名单列表中创建一个AD组。
答案 0 :(得分:1)
您可以在不使用文本文件存储文件名的情况下执行此操作。
$Endding = "EnddingToGroup"
$path = "C:\FolderPath\"
Get-ChildItem -Path $path `
| Select-Object -ExpandProperty Name `
| %{ "$(($_).SubString(0,7))$Endding" } `
| %{ New-ADGroup -Name $_ -GroupCategory Security -GroupScope Global -DisplayName $_ }
这将获取文件夹中的项目列表,然后获取每个项目名称的前7个字符,并添加您的' $ endding'到最后。然后它将使AD全局安全组具有名称。
如果您想在运行之前查看将要制作的组,只需运行脚本的以下部分而不使用New-ADGroup
部分:
$Endding = "EnddingToGroup"
$path = "C:\FolderPath\"
Get-ChildItem -Path $path | Select -ExpandProperty Name | %{ "$(($_).SubString(0,7))$Endding" }