Página 1 de 1

Implementar un paquete que contiene un script de PowerShell

Publicado: 23 de junio de 2020 - 13:05
por Guillaume_ccfd
Buen día,

Como tengo poca experiencia en la preparación de paquetes que no sean MSI/EXE o MSU, estoy atascado en la implementación de algunas líneas de PowerShell.

Aquí está mi archivo setup.py:

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

def install():
    run_powershell(Get-NetIPInterface | where {$_.InterfaceAlias -eq "Wi-Fi"} | Set-NetIpInterface -InterfaceMetric 45)
    run_powershell(Get-NetIPInterface | where {$_.InterfaceAlias -match"Local"} | Set-NetIpInterface -InterfaceMetric 10)
    run_powershell(Get-NetIPInterface | where {$_.InterfaceAlias -match "Ethernet"} | Set-NetIpInterface -InterfaceMetric 10)
Cuando implemento el paquete en una máquina, obtengo el siguiente error:

Código: Seleccionar todo

Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\common.py", line 3807, in install_wapt
    setup = import_setup(setup_filename)
  File "C:\Program Files (x86)\wapt\waptutils.py", line 1383, in import_setup
    py_mod = imp.load_source(modulename, setupfilename.encode(sys.getfilesystemencoding()))
  File "c:\windows\temp\wapt_p5e60\setup.py", line 6
    run_powershell(Get-NetIPInterface | where {$_.InterfaceAlias -eq "Wi-Fi"} | Set-NetIpInterface -InterfaceMetric 45)
                                              ^
SyntaxError: invalid syntax
SyntaxError: invalid syntax (setup.py, line 6)
¿Tienes alguna idea de dónde podría venir el problema?

¿Tiene algún archivo de ejemplo que contenga scripts de PowerShell?

¡Gracias de antemano!

Re: Implementación de un paquete que contiene un script de PowerShell

Publicado: 23 de junio de 2020 - 13:45
por sfonteneau
¿Como esto?

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

def install():
    run_powershell('Get-NetIPInterface | where {$_.InterfaceAlias -eq "Wi-Fi"} | Set-NetIpInterface -InterfaceMetric 45')
    run_powershell('Get-NetIPInterface | where {$_.InterfaceAlias -match"Local"} | Set-NetIpInterface -InterfaceMetric 10')
    run_powershell('Get-NetIPInterface | where {$_.InterfaceAlias -match "Ethernet"} | Set-NetIpInterface -InterfaceMetric 10')

Re: Implementación de un paquete que contiene un script de PowerShell

Publicado: 23 de junio de 2020 - 17:09
por Guillaume_ccfd
¡Muchísimas gracias!

Efectivamente, ¡había que incluir las dimensiones!

En cualquier caso, es un placer volver a trabajar en WAPT. ;)