1 of 2

# Powershell, 149 bytes

$i=-1$a=(,1*8+0,1*3)*3+,1*7|%{$_*(1+(Random 9))}$a|?{++$i;!$_}|%{6..8+1|%{$_,-$_}|%{$a[$i]+=$a[$i+$_]}} -join($a|%{if(!(++$i%7)){" "};'{0,3}'-f$_})


Explanation:

$i=-1 # let$i store -1
$a= # let$a is array of random numbers with zero holes
(,1*8+0,1*3)*3+,1*7|    # the one-dimension array equals
# 1 1 1 1 1 1 1
# 1 0 1 0 1 0 1
# 1 1 1 1 1 1 1
# 1 0 1 0 1 0 1
# 1 1 1 1 1 1 1
# 1 0 1 0 1 0 1
# 1 1 1 1 1 1 1
%{                      # for each element
$_*(1+(Random 9)) # multiply 0 or 1 element to random digit from 1 to 9 } # now$a stores values like (* is a random digit from 1 to 9)
# * * * * * * *
# * 0 * 0 * 0 *
# * * * * * * *
# * 0 * 0 * 0 *
# * * * * * * *
# * 0 * 0 * 0 *
# * * * * * * *
$a|?{++$i;!$_ # calc index$i and passthru values == 0 only
}|%{                        # for each zero value cell with index $i 6..8+1|%{ # offsets for the surrounding cells # . . . # . x +1 # +6 +7 +8$_,-$_ # add the mirror offsets # -8 -7 -6 # -1 x +1 # +6 +7 +8 }|%{ # for each offset$a[$i]+=$a[$i+$_]   # add surrounding values to the cell
}
}
# display the $a -join($a|%{                   # for each value of $a if(!(++$i%7)){"n"} # line break for each 7 cells
'{0,3}'-f$_ # formatted value of$a with width = 3 char and align right
}
)                           # join all values to string
`