Python 2.7. Instlar pypdfocr en windows

Si al instalar pypdfocr en windows 7, da un error de compilación

$ pip2.exe  install pypdfocr

(...)
Installing collected packages: PyYAML, argh, pathtools, watchdog, httplib2, oauth2, evernote, pypdfocr
  Running setup.py install for PyYAML: started
    Running setup.py install for PyYAML: finished with status 'error'
    Complete output from command c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\cygwin\\tmp\\pip-build-k7lz4j\\PyYAML\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\cygwin\tmp\pip-nggirp-record\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-2.7
    creating build\lib.win32-2.7\yaml
    copying lib\yaml\composer.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\constructor.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\cyaml.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\dumper.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\emitter.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\error.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\events.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\loader.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\nodes.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\parser.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\reader.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\representer.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\resolver.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\scanner.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\serializer.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\tokens.py -> build\lib.win32-2.7\yaml
    copying lib\yaml\__init__.py -> build\lib.win32-2.7\yaml
    running build_ext
    creating build\temp.win32-2.7
    creating build\temp.win32-2.7\Release
    checking if libyaml is compilable
    error: [Error 2] El sistema no puede encontrar el archivo especificado

    ----------------------------------------
Command "c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\cygwin\\tmp\\pip-build-k7lz4j\\PyYAML\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\cygwin\tmp\pip-nggirp-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in c:\cygwin\tmp\pip-build-k7lz4j\PyYAML\

Es necesario instalar tal y como comentan en stackoverflow vc  para windows :

Microsoft Visual C++ Compiler for Python 2.7

Una vez instalado, vc for Python, debe estar accesible desde el path. Desde command :

cmd_python_pypdfocr

vmware powercli: tareas programadas

Para ejecutar un script de powercli mediante el programador de tareas, es necesario prepararlo para poder ser invocado desde powershell.

El script debe comenzar invocando el snapin de vmware:

add-pssnapin VMware.VimAutomation.Core

Antes de pasar a una tarea programada, recomendamos probar el script invocandolo a través de powershell:

powershell.exe c:\myscript.ps1

Tarea programada en windows

Herramientas administrativas > Programador de tareas

vmware_powercli_tarea_programada001

Tarea básica: Hora y fecha de comienzo.

vmware_powercli_tarea_programada002

Acción: Iniciar un programa
vmware_powercli_tarea_programada003Poner ruta de powershell y del script de powercli completa:

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe

 

powercli_tarea_programada_64bits

Powercli: Configurar máquinas virtuales para que instalen tools en el inicio

A raíz del artículo de Brian Graf y de LucD sobre cambios de especificaciones de máquinas virtuales, hemos hecho un pequeño script configure_vmtools_power_cycle.ps1 capaz de marcar en las máquinas virtuales el atributo “tools upgrade”vmware.vmtools.upgrade.power.cycle

Se invoca desde powercli

.\configure_vmtools_power_cycle.ps1

Requiere configuración para definir en qué contenedor (Location) va a aplicar el cambio de políticas.

Para evitar que queden vmware tools montadas en los linux, sólo aplica el cambio sobre máquinas definidas como Windows y encendidas.

En la versión de powercli 5.5 que estamos trabajando, sólo está relleno el cambio vm.Guest.OsFullname si la máquina está encendida. En el caso de máquinas apagadas, no podemos discriminar por sistema operativo. Por ello, se ha puesto también la opción en la función de forzar la aplicación.

 

 
Function configure_vmtools_power_cycle ( $vm, [bool] $force )
{
       

   
    # Comment if you want to upgrade non windows vm
    if ((($vm.Guest.State -eq "PoweredOn") -and  ($vm.Guest.OSFullName.Contains("Windows")) -or ($force)))
        
       {
    
        write-host "Configure vmtools check and upgrade in every powercycle: " $vm.Name $vm.Guest.OSFullName

        # This line creates the object that encapsulates the settings for reconfiguring the VM
        $vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
        # This line creates the object we will be modifying
        $vmConfigSpec.Tools = New-Object VMware.Vim.ToolsConfigInfo
        # This line sets the Tools upgrades policy checkbox
        $vmConfigSpec.Tools.ToolsUpgradePolicy = "UpgradeAtPowerCycle"
        # This line commits the change to each virtual machine
        # Get-View -ViewType VirtualMachine | %{    $_.ReconfigVM($vmConfigSpec)}
    
        # Reconfigure vm
        $vm | Get-View | %{ $_.ReconfigVM($vmConfigSpec)}
        
        
   }
 }

 

Windows 2008: Añadir usuarios al grupo de escritorio remoto

Para permitir escritorio remoto a usuarios de windows sin darles permisos de administrador, existe un grupo local “grupo de escritorio remoto”.

Para configurarlo:

  • Administración de equipos
  • Usuarios y grupos locales
  • Grupos
  • Usuarios de escritorio remotos
Windwos 2008: Acceder al grupo de escritorio remoto
Windwos 2008: Acceder al grupo de escritorio remoto

cntlm. Proxy con autenticación para herramientas que no admiten la autenticación windows

cntlm funciona como un servicio de windows, y se ocupa de la autenticación con el proxy de todas esas herramientas que no lo soportan.

 

En mi caso, tenemos, por ejemplo f5editor, owncloud, tortoise git… Aceptan parámetros de proxy, pero con autenticación no funciona.

La instalación de cntlm es sencilla, y su configuración se basa en un archivo de texto. Eso sí, usuario y contraseña del dominio quedan en claro.

C:\Program Files (x86)\Cntlm

En cntlm.in configuramos:

Username    myuser
Domain        mydomain
Password    mypass
...
Proxy       192.168.1.10:8080
Proxy       192.168.1.11:8080
...
NoProxy        localhost, 127.0.0.*, 10.*, 192.168.*

Probamos la conexión:

$ cntlm -I -M http://test.com

Espero que os sea muy útil

IAS y Radius: Olvidé mi secreto

Se puede acceder de forma sorprendentemente fácil a los secretos IAS en windows 2003, simplemente localizando el fichero IAS.mdb y accediendo a la entrada del servidor radius correspondiente:

C:\WINDOWS\SysWOW64\ias
 C:\windows\system32\ias

Abriendo el mdb con access, en la tabla “properties” encontramos una línea por servidor con su clave secreta.

Supongo, o quiero suponer, que lo habrán resuelto ya en la versión de 2008.

Deshabilitar el límite de conexiones de terminal services en windows XP

El 8 de abril es la fecha en que se deja de dar soporte a windows XP, y es alucinante la cantidad de XP’s que quedan aún vivos. De hecho, a nivel mundial, parece que es el segundo sistema operativo más instalado.

Windows XP sigue siendo el segundo sistema operativo más usado del mundo

Os dejo también un tutorial para poder activar varias sesiones en windows XP, basada en una versión más antigua de las librerías de terminal.

  1. Entrar en modo a prueba de fallos en windows / Modo seguro. Pulsando F8 en el arranque.
  2. Parar el servicio de terminal services.
  3. Sustituir termsrv.dll en dos ubicaciones:
    C:\windows\system32\dllcache;
    C:\windows\system32
  4. Nueva clave en el registro: regeditHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Licensing Core
    EnableConcurrentSessions (DWORD) = 1
  5.  Cambiar el límite de conexiones. Nosotros hemos puesto 10 el límite:
    gpedit.msc
    Computer Configuration > Administrative Templates > Windows Components > Terminal Services
    Limit number of connections = Enabled
    Number Connections = 10
    Si hubiéramos puesto 99999 las conexiones ya son ilimitadas.
  6. Habilitar en windows el acceso remoto, y concretamente para los usuarios que haga falta.
  7. Reiniciar el sistema.