Я перехватываю подключенные диски с удаленного компьютера, используя powershell как часть сценария, чтобы переместить их настройки на новый компьютер пользователя: (задайте для $ OldComputer имя или IP-адрес старого компьютера). Он просматривает список всех дисков на удаленная система, и если они не являются локальными дисками, она попытается удалить это сопоставление дисков на текущем компьютере (если он используется кем-то другим), а затем переназначить его. Закомментируйте вторую и последнюю строку (ту, что выше, foreach, и добавьте свою собственную строку в log или msgbox, если хотите.)
$netObj = New-Object -com wscript.Network
$WMI1 = [WMISearcher] "Select Name, Providername from win32_mappedLogicalDisk"
$WMI1.Scope.path="\\" + $oldComputer + "\root\cimv2"
$WMI1.Options.ReturnImmediately
$ColDrives = $WMI1.Get()
foreach ($objDrive in $colDrives) {
$TestLocal = get-wmiObject Win32_LogicalDisk | ? {$_.DeviceID -eq $objDrive.Name} | % {$_.Providername}
If ($TestLocal) {
Net Use /Delete $objDrive.Name >> $LogFile
}#If
#Map the drive
Net use $objDrive.Name $objDrive.ProviderName >> $LogFile
}#foreach