How do I extract a list of Windows services and their status to a text file?

In the Services window, Action > Export... menu can give you the list as a .txt or .csv file. It gives you the description column as well, but you can easily delete it using a program like Excel.

You can also do this from Powershell.

Get-Service | Export-Csv -path "C:\services.csv"

Besides, you can filter the list. For example, you can get only the started services by executing the following command:

Get-Service | where {$_.Status -eq "Running"} | Export-Csv -path "C:\services.csv"

Without using powershell, this lists running services:

 sc query > running_services.txt

This lists all services, running or not:

 sc query state= all > all_services.txt

You can also use net start to get the list of the running services.