Yes, You can run BGP in Windows Server and even peer it with Cisco BGP router.
Powershell BGP commands Reference:
More with Lab from Packet Thrower Blog:
Basic Powershell commands to remember, Let’s Assume we had the following topology:
To Adds a BGP router for the specified Tenant ID:
Add-BgpRouter -BgpIdentifier 192.168.100.1 -LocalASN 100
To Adds a new BGP peer:
Add-BgpPeer -Name CiscoR2 -LocalIPAddress 192.168.100.1 -PeerIPAddress 192.168.100.2 -LocalASN 100 -PeerASN 200 -PeeringMode Automatic
To Adds custom routes to the BGP routing table:
Add-BgpCustomRoute -Network 126.96.36.199/24
To Retrieves BGP peering-related message and route advertisement statistics:
Remember, before typing above PS commands you should install “Remote Access Role” then “Routing Role Services“.
Then go to Routing and Remote Access Console
Right-click your domain name, then
choose “configure and enable routing and remote access”
choose “Custom Configuration” then choose “LAN Routing“