2015-09-04 35 views
0

我正在创建一个长脚本,它可以执行许多操作。powershell脚本读取目录中的文件夹并将其输出到文件并修改为创建AD组

首先,脚本将获得目录和输出文件夹列表到一个文件 我有以下

Get-ChildItem -Path "filepath" | Select-Object Name | Out-File c:\dir.txt 

这个代码的文件的输出会看起来像

  • 名称
  • -
  • 1234556说明1
  • 1244556说明2
  • 1234456说明3

我要删除的前两行,然后剥去列表中的所有字符除了第7号和相同的文本添加到这样每个目录名称的末尾:

  • 1234556Descript
  • 1244556Descript
  • 1234456Descript

然后完成后,我想从这个名单列表中创建一个AD组。

回答

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" } 
+0

代码起初令人困惑,因为$路径名了。 txt在里面。 – dac086

相关问题