Quick script on how to drop a linked server from a list of servers. Minimally tested, use at your own risk.
$LinkedServerName = 'LinkedServerToFindAndDrop' try{ gc -Path c:\Servers.txt | %{ $srvName = $_ $srvConn = New-Object "Microsoft.SqlServer.Management.Common.ServerConnection" $srvConn.ServerInstance = $srvName $srv = New-Object Microsoft.SqlServer.Management.Smo.Server $srvConn $linkedServer = $srv.LinkedServers | where{$_.DataSource -eq $LinkedServerName} if($linkedServer -ne $null){ for([int]$i = 0; $i -lt $linkedServer.LinkedServerLogins.Count; $i++){ $login = $linkedServer.LinkedServerLogins.item($i); $login.Drop(); } $linkedServer.Drop(); } } } catch{ $_ | fl -Force }