Here is an option which uses an ad-hoc tally table
The CROSS APPLY will return the business seconds, then it becomes a small matter to to format. Note: You will have to make allowances for items over 24 hours.
Example
Declare @YourTable table (ID int,DT1 datetime,DT2 datetime)
Insert Into @YourTable values
(1,'2019-11-28 16:30:00','2019-11-29 09:00:00')
Select A.*
,Elapsed=format(dateadd(SECOND,Seconds,0),'HH:mm')
From @YourTable A
Cross Apply (
Select Seconds=sum(1)
From (Select Top (DateDiff(SECOND,DT1,DT2)+1) D=DateAdd(SECOND,-1+Row_Number() Over (Order By (Select Null)),DT1) From master..spt_values n1,master..spt_values n2) A
Where DateName(WEEKDAY,D) not in ('Saturday','Sunday')
and convert(time,D) > '08:00'
and convert(time,D) < '18:00'
) B
Returns
ID DT1 DT2 Elapsed
1 2019-11-28 16:30:00.000 2019-11-29 09:00:00.000 02:30