Respuesta de Python Capture de powershell

El siguiente código funciona cuando se escribe manualmente, sin embargo, cuando ejecuto el program.py no se imprime nada. Mi objetivo final es recuperar estos datos de la PC del usuario para crear una manera fácil de recrear accesos directos ... Mis usuarios de alguna manera los pierden jajaja

import smtplib, os, subprocess, sys
from string import ascii_uppercase
from cStringIO import StringIO

data = os.popen(r"dir %userprofile%\desktop\*.lnk* /s/b").read()
file = open("testitem.txt", "w")
file.write(data)
file.close()


my_data = dict(zip(ascii_uppercase,open("testitem.txt")))


old_stdout = sys.stdout
sys.stdout = mystdout = StringIO()

for key, value in my_data.iteritems():
    subprocess.Popen([r"powershell.exe", "$sh = New-Object -COM WScript.Shell" + "\n" +     "$sh.CreateShortcut(\"%s\").TargetPath" % my_data[key].replace("\n", "")], stdout=subprocess.PIPE).communicate()[0]


sys.stdout = old_stdout

shared = mystdout.getvalue()
print shared

Respuestas a la pregunta(1)

Su respuesta a la pregunta