gpt4 book ai didi

powershell - 进行请求时限制Active Directory连接的数量

转载 作者:行者123 更新时间:2023-12-03 00:16:17 26 4
gpt4 key购买 nike

我正在尝试获取一个脚本来检查备份文件夹中是否存在那些链接到不在Active Directory中的用户或计算机的用户。

# Gets the list of folders on the backup Server
$FolderList = Get-ChildItem $Server | select name

foreach ($Folder in $FolderList){

# On each folder, gets the computer name and the user shortname (the backup folder are built using %COMPUTERNAME%-%USERNAME%)
$Splited = $Folder.Name.Split("-")
$ComputerName = $Splited[0]
$ShortName = $Splited[1]
$LastWrittenDate = Get-Item "$($Server)\$($Folder.Name)" | Select-Object LastWriteTime

# Checks if the username exists in the Active Directory
try{
Get-ADUser $ShortName | Out-Null
} catch {
# If it doesn't exists, write in the user output file
Add-Content "$($outputFile)_user.txt" "$($ShortName); $($LastWrittenDate.LastWriteTime)"
}


# Checks if the computer name exists in the Active Directory and the computer is not in the Active Directory
try {
Get-ADComputer $ComputerName | Out-Null
} catch {
# If it doesn't exists, write in the computer output file
Add-Content "$($outputFile)_computers.txt" "$($ComputerName); $($LastWrittenDate.LastWriteTime)"
}
}

我的问题是,当我请求检查用户/计算机是否在AD中时,它会打开与AD的新连接,而不会关闭它(日志文件爆炸时检测到该问题)。

有没有办法只打开一个 session 到AD并在该 session 期间调用我的所有请求?

最佳答案

我对脚本进行了一些修改,监视日志未显示批量登录请求。

$FolderList = Get-ChildItem $Server | select name
# I log onto the AD and execute my requests
cd AD:
foreach ($Folder in $FolderList){

然后,当我在一台服务器上完成操作后,我将回到我的D驱动器上,并从下一个再次开始。
我必须在每次与服务器的连接之间登录和注销,因为一旦连接到AD就无法访问服务器(但是我可以访问本地驱动器并写入输出文件)。

现在,我仅对每个服务器向AD提出一个登录请求,而不对每个文件提出一个登录请求。

关于powershell - 进行请求时限制Active Directory连接的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34067121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com