Diferencia entre revisiones de «Usuario:Luis.perez/sistemaspyaytozgz/windows»
De WikiEducator
(Página creada con '== Administración de Windows con python == ==== Instalación de pywin32 ==== a) versión 214 con pip (versión antigua de hace 3 años) b) versión reciente, 218, desde http:…') |
(→WINSYS) |
||
Línea 33: | Línea 33: | ||
$ pip install WinSys-3.x | $ pip install WinSys-3.x | ||
</source> | </source> | ||
+ | |||
+ | ==== Características comunes del api ==== | ||
+ | |||
==== Api del registro de windows ==== | ==== Api del registro de windows ==== |
Revisión de 07:15 11 ene 2013
Contenido
- 1 Administración de Windows con python
- 1.1 Instalación de pywin32
- 1.2 WINSYS
- 1.2.1 Instalación
- 1.2.2 Características comunes del api
- 1.2.3 Api del registro de windows
- 1.2.3.1 obtener una key del registro
- 1.2.3.2 obtener subkey
- 1.2.3.3 iterator de keys
- 1.2.3.4 obtener padre:
- 1.2.3.5 copiar una key del registro
- 1.2.3.6 crear una key
- 1.2.3.7 eliminar una key
- 1.2.3.8 asignar valores del registro
- 1.2.3.9 obtener valores del registro
- 1.2.3.10 obtener valores del registro
- 1.2.3.11 walk dentro de una clave (similar a lo que hace os.walk para ficheros y directorios
- 1.2.3.12 Add permisos totales a un usuario
Administración de Windows con python
Instalación de pywin32
a) versión 214 con pip (versión antigua de hace 3 años) b) versión reciente, 218, desde http://sourceforge.net/projects/pywin32/files/pywin32/Build%20218/pywin32-218.win32-py3.3.exe/download
- Usaremos la versión más reciente, con python 3.3
WINSYS
https://github.com/tjguk/winsys
- Wrapper alrededor de pywin32 para hacerla más "pythonic"
Instalación
- Instalar pip (instalar distribute primero)
- Descargar e instalar distribute http://python-distribute.org/distribute_setup.py
$ python distribute_setup.py
- Descargar e instalar pip https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ python get-pip.py
- Instalar PyWin32
- Instalar Winsys
$ pip install WinSys-3.x
Características comunes del api
Api del registro de windows
obtener una key del registro
new_key = registry.registry (r"HKLM\Software\Vim\Gvim") base = registry.registry(r"HKLM\Software") gvim2 = base + "Gvim" # se puede usar el operador + para concatenar
obtener subkey
subk = base.gvim
iterator de keys
for key in base.keys(): print(key) #key es de tipo registry
obtener padre:
parent = key.parent() parent = registry.parent(key)
copiar una key del registro
new_key = registry.copy (r"HKLM\Software\Vim\Gvim", r"HKLM\Software\Vim\Gvim2")
crear una key
gvim2.create("subkey") registry.create(gvim2, "subkey")
eliminar una key
gvim2.delete("subkey") # alternativo: registry.delete(gvim2, "subkey") gvim2.delete() #alternativo: registry.delete(gvim2)
asignar valores del registro
new_key.myvalue = 5 new_key.set_value('myvalue', 2)
obtener valores del registro
print("Obteniendo valores dentro de una key") avalue = new_key.myvalue avalue = new_key.get_value('myvalue')
obtener valores del registro
for name, value in new_key.values(): print("name: {}, value: {}".format(name, value)) values_dict = dict(new_key.values())
walk dentro de una clave (similar a lo que hace os.walk para ficheros y directorios
for key, subkeys, values in base.walk(): #key es de tipo registry #subkeys es una iterator de tipo registry #values es un iterator de tuplas nombre-valor pass
Add permisos totales a un usuario
try: with new_key.security () as sec: sec.break_inheritance (copy_first=False) sec.dacl.append(accounts.user("luis", "F", "ALLOW")) finally: new_key.security().dump ()