• EnglishSpanishGermanFrenchPolishChinese (Traditional)


EnglishSpanishGermanFrenchPolishChinese (Traditional)

Operating systems, scripting, PowerShell and security

Operating systems, software development, scripting, PowerShell tips, network and security

Menú principal
  • Categorías
  • Cursos
  • Libro de PowerShell (nivel medio)
  • Libro de PowerShell (nivel avanzado)
  • Lo mejor
  • Lo último
  • Proyectos
  • Contactar
Ir al contenido

¿Cómo sería la certificación Linux LPIC1-101 para PowerShell? (posible equivalencia entre Linux y PowerShell)

Contenidos

  • System Architecture
  • Linux Installation and Package Management
  • GNU and Unix Commands
  • Devices, Linux Filesystems, Filesystem Hierarchy Standard

System Architecture


->Determine and configure hardware settings
->->Key Knowledge Areas:
->->->Enable and disable integrated peripherals

PowerShell
1
Get-WmiObject Win32_USBControllerDevice |%{[wmi]($_.Dependent)} | Sort-Object Manufacturer,Description,DeviceID | ft -GroupBy Manufacturer Description,Service,DeviceID
PowerShell
1
Get-WmiObject -query "select * from Win32_PnPEntity where caption like '%cam%'"

->->->Configure systems with or without external peripherals such as keyboards

PowerShell
1
Get-WmiObject -query "select * from Win32_PnPEntity"

->->->Differentiate between the various types of mass storage devices

PowerShell
1
Get-WmiObject -Class win32_logicalDisk

->->->Know the differences between coldplug and hotplug devices

PowerShell
1
Get-WmiObject -query "select * from Win32_PnPEntity"

->->->Determine hardware resources for devices

PowerShell
1
Get-WmiObject -query "select * from Win32_PnPEntity"

->->->Tools and utilities to list various hardware information (e.g. lsusb, lspci, etc.)
->->->Tools and utilities to manipulate USB devices
->->->Conceptual understanding of sysfs, udev, dbus
->->The following is a partial list of the used files, terms and utilities:
->->->/sys/

PowerShell
1
#Serial Number, Vendor, information
PowerShell
1
Get-WmiObject -Class Win32_ComputerSystem
PowerShell
1
#Bios Information , including Version Number of BIOS
PowerShell
1
Get-WmiObject -Class win32_bios
PowerShell
1
#Battery Information
PowerShell
1
Get-WmiObject -Class win32_battery
PowerShell
1
#Serial Number, Capacity, Part Number of Installed Memory Stick
PowerShell
1
Get-WmiObject -Class win32_Physicalmemory
PowerShell
1
#Capacity, Serial Number of Drive and other info of the Hard-disk
PowerShell
1
Get-WmiObject -Class win32_DiskDrive
PowerShell
1
#Monitor Information including Resolutions
PowerShell
1
Get-WmiObject -Class win32_DesktopMonitor
PowerShell
1
#Information Related Cd Drive
PowerShell
1
Get-WmiObject -Class win32_cdromdrive
PowerShell
1
#Network Adaptor information contains, manufacturer, MAC ID etc
PowerShell
1
Get-WmiObject -Class win32_networkadapter
PowerShell
1
#Mouse related information
PowerShell
1
Get-WmiObject -Class win32_pointingdevice
PowerShell
1
#OS Name, OSArchitecture, Version Info
PowerShell
1
Get-WmiObject -Class win32_operatingsystem
PowerShell
1
#DeviceID, Free Space, Size of Partition
PowerShell
1
Get-WmiObject -Class win32_logicalDisk
PowerShell
1
#Mapped Network Drives
PowerShell
1
Get-WmiObject -Class Win32_NetworkConnection
PowerShell
1
#List of Installed Printers
PowerShell
1
Get-WmiObject -Class win32_printer
PowerShell
1
#List of Printer Drivers
PowerShell
1
Get-WmiObject -Class win32_PrinterDriver
PowerShell
1
#IP Adress, DHCP , DNS and other information of Network Drivers
PowerShell
1
Get-WmiObject -Class Win32_NetworkAdapterConfiguration
PowerShell
1
#Command that runs automatically when a user logs onto the computer system
PowerShell
1
Get-WmiObject -Class win32_startupCommand
PowerShell
1
#All Running Processes
PowerShell
1
Get-WmiObject -Class win32_process
PowerShell
1
#List of All Services
PowerShell
1
Get-WmiObject -Class win32_Service
PowerShell
1
#List of Installed Software
PowerShell
1
Get-WmiObject -Class win32_Product

->->->/proc/

PowerShell
1
Get-Process
PowerShell
1
Get-WmiObject -Class win32_process

->->->/dev/

PowerShell
1
Get-WmiObject -Class win32_cdromdrive

->->->modprobe
->->->lsmod
->->->lspci

PowerShell
1
Get-WmiObject -Class Win32_NetworkConnection

->->->lsusb

PowerShell
1
Get-WmiObject Win32_USBControllerDevice |%{[wmi]($_.Dependent)} | Sort-Object Manufacturer,Description,DeviceID | ft -GroupBy Manufacturer Description,Service,DeviceID

->Boot the system
->->Key Knowledge Areas:
->->->Provide common commands to the boot loader and options to the kernel at boot time
->->->Demonstrate knowledge of the boot sequence from BIOS to boot completion
->->->Understanding of SysVinit and systemd
->->->Awareness of Upstart
->->->Check boot events in the log files
->->Terms and Utilities:
->->->dmesg
->->->BIOS

PowerShell
1
Get-WmiObject -Class win32_bios

->->->bootloader

PowerShell
1
(gwmi -name root\wmi -list bcdstore)

->->->kernel

PowerShell
1
Get-Service http | fl *
PowerShell
1
Get-Service * | Select-Object name, ServiceType

->->->initramfs
->->->init

PowerShell
1
Get-Process Idle | select *

->->->SysVinit

PowerShell
1
Get-Process -Id 4 | select *

->->->systemd

->Change runlevels / boot targets and shutdown or reboot system
->->Key Knowledge Areas:
->->->Set the default runlevel or boot target
->->->Change between runlevels / boot targets including single user mode
->->->Shutdown and reboot from the command line
->->->Alert users before switching runlevels / boot targets or other major system events
->->->Properly terminate processes
->->Terms and Utilities:
->->->/etc/inittab
->->->shutdown

PowerShell
1
Stop-Computer

->->->init
->->->/etc/init.d/
->->->telinit
->->->systemd

PowerShell
1
Get-Service

->->->systemctl

PowerShell
1
Get-Service

->->->/etc/systemd/

PowerShell
1
Get-Service

->->->/usr/lib/systemd/

PowerShell
1
Get-Service

->->->wall


Linux Installation and Package Management


->Design hard disk layout
->->Key Knowledge Areas:
->->->Allocate filesystems and swap space to separate partitions or disks

PowerShell
1
Get-WmiObject -Class win32_logicalDisk

->->->Tailor the design to the intended use of the system
->->->Ensure the /boot partition conforms to the hardware architecture requirements for booting
->->->Knowledge of basic features of LVM
->->Terms and Utilities:
->->->/ (root) filesystem

PowerShell
1
Get-WmiObject -Class win32_logicalDisk

->->->/var filesystem
->->->/home filesystem
->->->/boot filesystem
->->->swap space

PowerShell
1
Get-WMIObject -class win32_physicalmemory | Format-Table devicelocator, capacity -a

->->->mount points
->->->partitions

PowerShell
1
Get-WmiObject -Class win32_logicalDisk

->Install a boot manager
->->Key Knowledge Areas:
->->->Providing alternative boot locations and backup boot options
->->->Install and configure a boot loader such as GRUB Legacy
->->->Perform basic configuration changes for GRUB 2
->->->Interact with the boot loader
->->The following is a partial list of the used files, terms and utilities:
->->->menu.lst, grub.cfg and grub.conf
->->->grub-install
->->->grub-mkconfig
->->->MBR

->Manage shared libraries
->->Key Knowledge Areas:
->->->Identify shared libraries

PowerShell
1
Get-Process -Module

->->->Identify the typical locations of system libraries
->->->Load shared libraries
->->Terms and Utilities:
->->->ldd
->->->ldconfig
->->->/etc/ld.so.conf
->->->LD_LIBRARY_PATH

->Use Debian package management
->->Key Knowledge Areas:
->->->Install, upgrade and uninstall Debian binary packages

PowerShell
1
Install-Package
PowerShell
1
Uninstall-Package

->->->Find packages containing specific files or libraries which may or may not be installed

PowerShell
1
Find-Package

->->->Obtain package information like version, content, dependencies, package integrity and installation status (whether or not the package is installed)

PowerShell
1
Get-Package

->->Terms and Utilities:
->->->/etc/apt/sources.list
->->->dpkg

PowerShell
1
Install-Package

->->->dpkg-reconfigure
->->->apt-get

PowerShell
1
Get-Package

->->->apt-cache
->->->aptitude

PowerShell
1
Install-Package

->Use RPM and YUM package management
->->Key Knowledge Areas:
->->->Install, re-install, upgrade and remove packages using RPM and YUM
->->->Obtain information on RPM packages such as version, status, dependencies, integrity and signatures
->->->Determine what files a package provides, as well as find which package a specific file comes from
->->Terms and Utilities:
->->->rpm

PowerShell
1
Install-Package

->->->rpm2cpio
->->->/etc/yum.conf
->->->/etc/yum.repos.d/
->->->yum

PowerShell
1
Install-Package

->->->yumdownloader


GNU and Unix Commands


->Work on the command line
->->Key Knowledge Areas:
->->->Use single shell commands and one line command sequences to perform basic tasks on the command line

PowerShell
1
powershell
PowerShell
1
powershell Start-Process cmd -Verb runAs

->->->Use and modify the shell environment including defining, referencing and exporting environment variables

PowerShell
1
Get-ChildItem Env:

->->->Use and edit command history

PowerShell
1
Get-History

->->->Invoke commands inside and outside the defined path
->->Terms and Utilities:
->->->bash

PowerShell
1
powershell
PowerShell
1
powershell Start-Process cmd -Verb runAs

->->->echo

PowerShell
1
Write-Host

->->->env

PowerShell
1
Get-ChildItem Env:

->->->export

PowerShell
1
Get-History | Out-File

->->->pwd

PowerShell
1
Get-Location

->->->set

PowerShell
1
Set-Location

->->->unset
->->->man

PowerShell
1
Get-Help

->->->uname

PowerShell
1
Get-CimInstance Win32_OperatingSystem | Select-Object  Caption, InstallDate, ServicePackMajorVersion, OSArchitecture, BootDevice,  BuildNumber, CSName | FL
PowerShell
1
Get-CimInstance Win32_OperatingSystem | FL *

->->->history

PowerShell
1
Get-History

->->->.bash_history

PowerShell
1
Get-History

->Process text streams using filters
->->Key Knowledge Areas:
->->->Send text files and output streams through text utility filters to modify the output using standard UNIX commands found in the GNU textutils package
->->Terms and Utilities:
->->->cat

PowerShell
1
Get-Content fichero.txt

->->->cut

PowerShell
1
("hola;adios").Split(";")[0]

->->->expand

PowerShell
1
"     hola" -replace ("     ","")
PowerShell
1
("     hola").Trim()

->->->fmt
->->->head

PowerShell
1
New-Item

->->->join

PowerShell
1
foreach ($partes1 in Get-Content fichero1.txt){foreach ($partes2 in Get-Content fichero2.txt){$partes1,$partes2 | Out-File ficherocompuesto.txt}}

->->->less

PowerShell
1
Out-Host -Paging

->->->nl
->->->od

PowerShell
1
[Convert]::ToString(19,16)
PowerShell
1
[Convert]::ToString(19,8)

->->->paste
->->->pr

PowerShell
1
"hola" | Out-Printer

->->->sed

PowerShell
1
"hola" -replace "o","O"

->->->sort

PowerShell
1
Get-ChildItem | Sort-Object
PowerShell
1
Get-ChildItem | Sort-Object -Descending

->->->split

PowerShell
1
("hola;adios").Split(";")

->->->tail

PowerShell
1
Get-Content -Tail
PowerShell
1
Get-Content -ReadCount 10

->->->tr

PowerShell
1
"hola" -replace "o","O"

->->->unexpand
->->->uniq

PowerShell
1
Get-Process | Select-Object Name -Unique

->->->wc

PowerShell
1
Get-Process | Group-Object | Select-Object count

->Perform basic file management
->->Key Knowledge Areas:
->->->Copy, move and remove files and directories individually

PowerShell
1
http://www.jesusninoc.com/2011/11/08/cmdlets-para-realizar-operaciones-con-archivos-y-directorios/
PowerShell
1
Copy-Item
PowerShell
1
Move-Item
PowerShell
1
Remove-Item

->->->Copy multiple files and directories recursively

PowerShell
1
Copy-Item -Recurse

->->->Remove files and directories recursively

PowerShell
1
Remove-Item -Recurse

->->->Use simple and advanced wildcard specifications in commands

PowerShell
1
Copy-Item *

->->->Using find to locate and act on files based on type, size, or time

PowerShell
1
Get-ChildItem -File
PowerShell
1
Get-ChildItem | Where-Object Length -GT 1
PowerShell
1
Get-ChildItem | Where-Object LastWriteTime -GT (get-date).AddDays(-1)

->->->Usage of tar, cpio and dd
->->Terms and Utilities:
->->->cp

PowerShell
1
Copy-Item

->->->find

PowerShell
1
Get-ChildItem -File

->->->mkdir

PowerShell
1
New-Item -ItemType Directory

->->->mv

PowerShell
1
Move-Item

->->->ls

PowerShell
1
Get-ChildItem

->->->rm

PowerShell
1
Remove-Item

->->->rmdir

PowerShell
1
Remove-Item

->->->touch

PowerShell
1
New-Item -ItemType File -Value "hi"

->->->tar

PowerShell
1
Compress-Archive

->->->cpio

PowerShell
1
Compress-Archive

->->->dd

PowerShell
1
Copy-Item

->->->file

PowerShell
1
Get-ChildItem .\@TileEmpty1x1Image.png | select Extension

->->->gzip

PowerShell
1
Compress-Archive

->->->gunzip

PowerShell
1
Compress-Archive

->->->bzip2

PowerShell
1
Compress-Archive

->->->xz

PowerShell
1
Compress-Archive

->->->file globbing

->Use streams, pipes and redirects
->->Key Knowledge Areas:
->->->Redirecting standard input, standard output and standard error

PowerShell
1
Get-Process | Sort-Object

->->->Pipe the output of one command to the input of another command

PowerShell
1
Get-Process | Sort-Object

->->->Use the output of one command as arguments to another command

PowerShell
1
Get-Process | Sort-Object

->->->Send output to both stdout and a file

PowerShell
1
Get-Process | Tee-Object | Out-File

->->Terms and Utilities:
->->->tee

PowerShell
1
Get-Process notepad | Tee-Object -variable proc | Select-Object processname,handles

->->->xargs

PowerShell
1
Invoke-Command -ScriptBlock {Get-Process}

->Create, monitor and kill processes
->->Key Knowledge Areas:
->->->Run jobs in the foreground and background

PowerShell
1
Debug-Job
PowerShell
1
Get-Job
PowerShell
1
Receive-Job
PowerShell
1
Remove-Job
PowerShell
1
Resume-Job
PowerShell
1
Start-Job
PowerShell
1
Stop-Job
PowerShell
1
Suspend-Job
PowerShell
1
Wait-Job

->->->Signal a program to continue running after logout
->->->Monitor active processes

PowerShell
1
Get-Process

->->->Select and sort processes for display

PowerShell
1
Get-Process

->->->Send signals to processes

PowerShell
1
Stop-Process

->->Terms and Utilities:
->->->&
->->->bg
->->->fg
->->->jobs

PowerShell
1
Debug-Job
PowerShell
1
Get-Job
PowerShell
1
Receive-Job
PowerShell
1
Remove-Job
PowerShell
1
Resume-Job
PowerShell
1
Start-Job
PowerShell
1
Stop-Job
PowerShell
1
Suspend-Job
PowerShell
1
Wait-Job

->->->kill

PowerShell
1
Stop-Process

->->->nohup

PowerShell
1
Start-Job
PowerShell
1
Resume-Job

->->->ps

PowerShell
1
Get-Process

->->->top

PowerShell
1
Get-Process

->->->free

PowerShell
1
(Get-WmiObject -Class Win32_ComputerSystem).TotalPhysicalMemory/1gb

->->->uptime

PowerShell
1
Get-CimInstance -ClassName win32_operatingsystem | select *
PowerShell
1
Get-CimInstance -ClassName win32_operatingsystem | select csname, lastbootuptime

->->->pgrep

PowerShell
1
(Get-Process -Name powershell_ise).Id

->->->pkill

PowerShell
1
Stop-Process -Name notepad

->->->killall

PowerShell
1
Stop-Process -Name notepad

->->->screen

->Modify process execution priorities
->->Key Knowledge Areas:
->->->Know the default priority of a job that is created

PowerShell
1
Get-WmiObject Win32_process -filter 'name = "notepad.exe"' | foreach-object {$_.SetPriority(32)}

->->->Run a program with higher or lower priority than the default
->->->Change the priority of a running process
->->Terms and Utilities:
->->->nice

PowerShell
1
Get-WmiObject Win32_process -filter 'name = "notepad.exe"' | foreach-object {$_.SetPriority(32)}

->->->ps

PowerShell
1
Get-Process

->->->renice
->->->top

PowerShell
1
Get-Process

->Search text files using regular expressions
->->Key Knowledge Areas:
->->->Create simple regular expressions containing several notational elements

PowerShell
1
Get-Process | Select-String "Notepad"

->->->Use regular expression tools to perform searches through a filesystem or file content
->->Terms and Utilities:
->->->grep

PowerShell
1
Get-Process | Select-String "Notepad"

->->->egrep
->->->fgrep
->->->sed
->->->regex(7)

PowerShell
1
Get-Process | select-string -pattern idle, svchost -notmatch

->Perform basic file editing operations using vi
->->Key Knowledge Areas:
->->->Navigate a document using vi

PowerShell
1
New-Item -Name nombre -Value "Hi"

->->->Use basic vi modes
->->->Insert, edit, delete, copy and find text
->->Terms and Utilities:
->->->vi

PowerShell
1
New-Item -Name nombre -Value "Hi"

->->->/, ?
->->->h,j,k,l
->->->i, o, a
->->->c, d, p, y, dd, yy
->->->ZZ, :w!, :q!, :e!


Devices, Linux Filesystems, Filesystem Hierarchy Standard


->Create partitions and filesystems

PowerShell
1
Get-WmiObject Win32_LogicalDisk

->->Key Knowledge Areas:
->->->Manage MBR partition tables
->->->Use various mkfs commands to create various filesystems such as:
->->->-ext2/ext3/ext4
->->->-XFS
->->->-VFAT
->->->Awareness of ReiserFS and Btrfs
->->->Basic knowledge of gdisk and parted with GPT
->->Terms and Utilities:
->->->fdisk
->->->gdisk
->->->parted
->->->mkfs
->->->mkswap

->Maintain the integrity of filesystems

PowerShell
1
Get-WmiObject Win32_LogicalDisk

->->Key Knowledge Areas:
->->->Verify the integrity of filesystems

PowerShell
1
Get-FileHash

->->->Monitor free space and inodes
->->->Repair simple filesystem problems
->->Terms and Utilities:

PowerShell
1
Get-WmiObject win32_logicaldisk
PowerShell
1
Get-PSDrive C | Select-Object Used,Free

->->->du
->->->df
->->->fsck
->->->e2fsck
->->->mke2fs
->->->debugfs
->->->dumpe2fs
->->->tune2fs
->->->XFS tools (such as xfs_metadump and xfs_info)

->Control mounting and unmounting of filesystems
->->Key Knowledge Areas:
->->->Manually mount and unmount filesystems

PowerShell
1
New-PSDrive

->->->Configure filesystem mounting on bootup
->->->Configure user mountable removable filesystems
->->Terms and Utilities:

PowerShell
1
New-PSDrive

->->->/etc/fstab
->->->/media/
->->->mount
->->->umount

->Manage disk quotas
->->Key Knowledge Areas:
->->->Set up a disk quota for a filesystem
->->->Edit, check and generate user quota reports
->->Terms and Utilities:
->->->quota
->->->edquota
->->->repquota
->->->quotaon

->Manage file permissions and ownership
->->Key Knowledge Areas:
->->->Manage access permissions on regular and special files as well as directories

PowerShell
1
http://www.jesusninoc.com/2015/08/19/anadir-permiso-ntfs-a-una-carpeta/
PowerShell
1
Get-Acl
PowerShell
1
Set-Acl

->->->Use access modes such as suid, sgid and the sticky bit to maintain security
->->->Know how to change the file creation mask
->->->Use the group field to grant file access to group members
->->Terms and Utilities:
->->->chmod

PowerShell
1
Get-Acl
PowerShell
1
Set-Acl

->->->umask
->->->chown
->->->chgrp

->Create and change hard and symbolic links
->->Key Knowledge Areas:
->->->Create links

PowerShell
1
New-Item -ItemType SymbolicLink

->->->Identify hard and/or soft links
->->->Copying versus linking files
->->->Use links to support system administration tasks
->->Terms and Utilities:

PowerShell
1
New-Item -ItemType SymbolicLink

->->->ln
->->->ls

->Find system files and place files in the correct location
->->Key Knowledge Areas:
->->->Understand the correct locations of files under the FHS
->->->Find files and commands on a Linux system
->->->Know the location and purpose of important file and directories as defined in the FHS
->->Terms and Utilities:
->->->find

PowerShell
1
Get-ChildItem
PowerShell
1
Select-String

->->->locate

PowerShell
1
Get-ChildItem
PowerShell
1
Select-String

->->->updatedb
->->->whereis

PowerShell
1
Get-ChildItem
PowerShell
1
Select-String

->->->which

PowerShell
1
Get-ChildItem

->->->type

PowerShell
1
Get-ChildItem | Get-Member

->->->/etc/updatedb.conf

Publicado el día 5 de marzo de 2021

CATEGORÍAS

PowerShell

ETIQUETAS

Access, Active, AddDays, App, APT, arp, Bash, BASIC, Bing, Boot, Bot, bug, bzip2, chgrp, chmod, chown, City, Compress-Archive, Connect, Connection, Contains, Copy, Copy-Item, cpi, cpio, Date, Debian, Delete, DeviceID, Devices, df, DHCP, diff, Directory, dmesg, DNS, Download, dpkg, Drive, e2fsck, Echo, egrep, expand, expr, fdisk, fgrep, find, foreach, ForEach-Object, Format-Table, free, fsck, Get-Acl, Get-ChildItem, Get-CimInstance, Get-Content, Get-Date, Get-FileHash, Get-History, Get-Job, Get-Location, Get-Member, Get-Package, Get-Process, Get-PSDrive, Get-Service, Get-WmiObject, grep, Group-Object, gunzip, gwmi, gzip, hardware, Head, Help, history, HTTP, Idle, input, Insert, Install-Package, installd, Invoke-Command, iOS, IP, ISO, itemType, Jesús Niño, Jesús Niño Camazón, Jobs, kernel, kill, Length, Linux, ln, Log, LSM, lsmod, lsusb, Mac, match, mkdir, mkswap, Module, mount, move, Move-Item, mv, New-Item, New-PSDrive, nohup, Now, Options, Out-File, Out-Host, Out-Printer, Path, Pattern, Perl, Play, pm, powershell_ise, Printer, ps, pwd, Receive-Job, regex, Remove, Remove-Item, Remove-Job, Replace, Resume-Job, rmdir, Screen, Script, SDR, Select-Object, Select-String, services, set-acl, Set-Location, size, Software, Sort, Sort-Object, Source, Split, Start-Job, Start-Process, stdout, Stop-Job, Stop-Process, Store, Suspend-Job, svchost, switch, tee, Tee-Object, Time, ToString, Trim, umask, uname, Uninstall-Package, Unique, UNIX, USB, Valencia, Version, Wait-Job, Where-Object, Win32, win32_battery, win32_bios, win32_cdromdrive, win32_DesktopMonitor, win32_DiskDrive, Win32_LogicalDisk, win32_networkadapter, Win32_NetworkAdapterConfiguration, Win32_NetworkConnection, win32_operatingsystem, win32_Physicalmemory, Win32_PnPEntity, win32_pointingdevice, win32_printer, win32_process, Win32_Product, win32_Service, win32_startupCommand, WMI, Write-Host

MÁS

  • 13. Interfaces de usuario gráficas en PowerShell (nivel intermedio)
  • Ejercicios de PowerShell: ver controladores
  • 11. Gestión del Directorio Activo (nivel intermedio)
  • Ejercicios de PowerShell: realizar operaciones en un equipo remoto
  • Listar los nombres de los ficheros DLL que hay en System32 con PowerShell
  • Curso de Especialización de formación profesional en ciberseguridad en entornos de las tecnologías de la información
Jesusninoc utiliza cookies: saber más aquí.