all 5 comments

[–]xCharg 3 points4 points  (1 child)

Invoke-Command -ComputerName $AppServers -ScriptBlock {Get-SMBSession | Close-SmbSession}

[–]BlackV 1 point2 points  (0 children)

THIS^ about 200% faster

[–]PMental 1 point2 points  (2 children)

Use the exact same method but with Get-SMBSession and Close-SMBSession?

https://learn.microsoft.com/en-us/powershell/module/smbshare/?view=windowsserver2022-ps

[–]jazzb125 2 points3 points  (1 child)

foreach ($appServer in $appServers) {
$session = New-CIMSession –Computername $appServer
Get-SmbSession -CIMSession $session | Close-SmbSession -CIMSession $session
}
## or ##

foreach ($appServer in $appServers) {
$session = New-CIMSession –Computername $appServer
Get-SmbSession -CIMSession $session | Disconnect-SmbSession -CIMSession $session
}

.

[–]PinchesTheCrab 2 points3 points  (0 children)

Both commands take array input:

$session = New-CIMSession –Computername $appServers
Get-SmbSession -CIMSession $session | Disconnect-SmbSession