Ver destacados

Lo nuevo de PowerShell en Windows Server 2016

Completo tutorial para descubrir todas las novedades de Microsoft PowerShell en Windows Server 2016 comparándolo con Windows Server 2012.
Escrito por
12K Visitas  |  Publicado abr 07 2016 19:43
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


Con la nueva llegada de Windows Server 2016 llegan nuevas características para facilitar nuestra administración.
Como todos sabemos Windows PowerShell es una poderosa herramienta de Microsoft incluida en sus sistemas operativos de servidor y con la cual podemos realizar múltiples tareas administrativas. La versión PowerShell de Windows Server 2012 daba ya mucho juego, veamos las novedades.

 

 

Windows PowerShell es una herramienta de CLI (Command Line) la cual nos permite unir comandos por medio de scripts. Sus funciones son bastante amplias y Powershell no actúa solo con Server sino con otras plataformas como SQL Server, Exchange, entre otras.

 

En Windows Server 2016 PowerShell se incluyen nuevas características para su gestión, algunas de estas son:

 

Función save-help
Nos permite guardar la ayuda relacionada a los módulos que se han instalado en los equipos remotos.

DSC-Configuración de Estado Deseado
Es una herramienta administrativa la cual permite implementar y gestionar los datos de configuración de software y el ambiente sobre el cual se ejecutan estos servicios.

Mejoras en el depurador
Ahora se han implementado mejoras notorias en el depurador, tanto a nivel de scripts como de flujos de trabajo.

RunNow
Se ha implementado este cmdlet en Register-ScheduledJob y en Set-ScheduledJob, y gracias a este no tenemos que configurar una fecha y hora específica de inicio con el parámetro Trigger.

Invoke-RestMethod y Invoke-WebRequest
Permiten definir los encabezados con el parámetro Header.

Get-Module
Este parámetro tiene un nuevo argumento llamado FullyQualifiedName el cual nos permite especificar un módulo usando su nombre.

Passthru
Se ha incluido este parámetro a los cmdlets Enable-JobTrigger y Disable-JobTrigger, este comando permite mostrar los objetos que el comando crea o gestiona.

IncludeUsername
Se ha incluido este parámetro en el cmdlet Get-Process.

 

Microsoft también se ha encargado de mejorar el entorno del Windows PowerShell ISE (Scripting Integrado), se han adicionado las siguientes características:

  • Se ha agregado compatibilidad con Intellisense a los proveedores y configuraciones de estado en PowerShell.
  • El ISE de PowerShell permite la depuración de los scripts remotos y de los flujos de trabajo.

 

Características adicionales en los servicios web de Windows PowerShell:

  • Administración simplificada del esquema de distribución, al generarse los valores de los campos faltantes de manera automática.
  • En caso de presentarse algún error en los servicios web de PowerShell al momento de ejecutarse un cmdlet, los mensajes de error serán más detallados.
  • En Windows Server 2016, los servicios web de PowerShell pueden expandir una instancia asociada mientras una consulta está en ejecución.
  • Permite a los usuarios obtener los mismos resultados cuando el acceso es menos directo.

 

Mejoras significativas en Windows PowerShell 5.0
Microsoft ha velado por proporcionar un PowerShell renovado, seguro y potente, por eso, en comparación con las versiones anteriores, se han incluido las siguientes correcciones:
  • El método Get-Type nos permite ver objetos deserializados.
  • Con el cmdlet Get-Counter podremos devolver contadores que contienen un carácter de apóstrofo.
  • Con el cmdlet Import-Csv se podrán omitir las líneas vacías.
  • Remove-Item ahora es capaz de eliminar los elementos incluidos en las subcarpetas.
  • El parámetro #Requires permite a los usuarios tomar derechos de administración.
  • Ahora se verán todos los resultados disponibles con el cmdlet Invoke-RestMethod
  • El parámetro Select-object-Expand ya no nos generará errores si el valor es null.
  • Get-Process ahora podrá ser usando en conjunto con otros comandos para obtener la propiedad ComputerName de algún objeto.
  • El parámetro Get-Job devuelve un trabajo programado completo.
  • Se han preocupado por realizar mejoras de rendimiento en el proceso de importación de flujos de trabajo.

 

Flujos de trabajo presentados en Windows PowerShell
Entendemos que un flujo de trabajo es una secuencia de gestiones de administración de varios dispositivos, las cuales son de manera repetitiva y las cuales pueden ser pausadas, finalizadas o suspendidas.

 

Otra de las virtudes de un flujo de trabajo es que son portátiles y se pueden exportar en algunas extensiones como XAML.

 

Como administradores tenemos ventajas usando el flujo de trabajo de PowerShell, algunas de éstas son:

  • Supervisión remota de las tareas de larga ejecución: Es posible que en cualquier momento veamos el estado de las tareas.
  • Automatización de tareas
  • Administración y control de diferentes dispositivos: Podemos usar parámetros como PSComputerName para gestionar diferentes entornos.
  • Desarrollo de diversas tareas: Podemos ejecutar diferentes tareas de manera simultánea con un solo script.
  • Programación: Es posible programar diversas tareas como un script o un cmdlet.
  • Confiabilidad: Contamos con recuperación de errores automatizada.

 

Tomando algunos datos, veremos una comparación de los nuevos cmdlets PowerShell incluidos en Windows Server 2016 comparado con Windows Server 2012 R2.

Modulo Específico    Nuevos CMDLets    	WS 2016 Cmdlets 	WS 2012 R2 Cmdlets

ActiveDirectory	           0	             147                       147
ADRMSAdmin	           0	              21	                21
AppLocker	           0	               5                         5
Appx	                   8	              14	                 6
+ Add-AppxVolume
+ Dismount-AppxVolume
+ Get-AppxDefaultVolume
+ Get-AppxVolume
+ Mount-AppxVolume
+ Move-AppxPackage
+ Remove-AppxVolume
+ Set-AppxDefaultVolume
BestPractices	           0	               4	                 4
BitLocker	           0	              13	                13
BitsTransfer	           0	               8	                 8
BranchCache	           0	              32	                32
CimCmdlets	           0	              14	                14
CIPolicy	           1	               1	                 0
+ ConvertFrom-CIPolicy
ClusterAwareUpdating	   0	              17	                17
ConfigCI	          10	              10	                 0
+ Edit-CIPolicyRule
+ Get-CIPolicy
+ Get-CIPolicyInfo
+ Get-SystemDriver
+ Merge-CIPolicy
+ New-CIPolicy
+ New-CIPolicyRule
+ Remove-CIPolicyRule
+ Set-HVCIOptions
+ Set-RuleOption

Modulo Específico	
Nuevos CMDLets	WS 2016 
Cmdlets	WS 2012 R2
Cmdlets
Defender	          11	              11	                 0
+ Add-MpPreference
+ Get-MpComputerStatus
+ Get-MpPreference
+ Get-MpThreat
+ Get-MpThreatCatalog
+ Get-MpThreatDetection
+ Remove-MpPreference
+ Remove-MpThreat
+ Set-MpPreference
+ Start-MpScan
+ Update-MpSignature

Modulo Específico	
Nuevos CMDLets	WS 2016 
Cmdlets	WS 2012 R2
Cmdlets
DFSN	                   0	              23	                23
DFSR	                   3	              45	                42
+ Get-DfsrDelegation
+ Grant-DfsrDelegation
+ Revoke-DfsrDelegation
DhcpServer	           0	             121	               121
DirectAccessClientComponen 0	              11	                11
Dism	                   4	              43	                39
+ Add-WindowsCapability
+ Expand-WindowsCustomDataImage
+ Get-WindowsCapability
+ Remove-WindowsCapability
DnsClient	           0	              17	                17

Modulo Específico	
Nuevos CMDLets	WS 2016 
Cmdlets	WS 2012 R2
Cmdlets
DnsServer	          21	             122	               101
+ Add-DnsServerClientSubnet
+ Add-DnsServerQueryResolutionPolicy
+ Add-DnsServerRecursionScope
+ Add-DnsServerZoneScope
+ Add-DnsServerZoneTransferPolicy
+ Disable-DnsServerPolicy
+ Enable-DnsServerPolicy
+ Get-DnsServerClientSubnet
+ Get-DnsServerQueryResolutionPolicy
+ Get-DnsServerRecursionScope
+ Get-DnsServerZoneScope
+ Get-DnsServerZoneTransferPolicy
+ Remove-DnsServerClientSubnet
+ Remove-DnsServerQueryResolutionPolicy
+ Remove-DnsServerRecursionScope
+ Remove-DnsServerZoneScope
+ Remove-DnsServerZoneTransferPolicy
+ Set-DnsServerClientSubnet
+ Set-DnsServerQueryResolutionPolicy
+ Set-DnsServerRecursionScope
+ Set-DnsServerZoneTransferPolicy
EventTracingManagement                	14	           14	             0
+ Add-EtwTraceProvider
+ Get-AutologgerConfig
+ Get-EtwTraceProvider
+ Get-EtwTraceSession
+ New-AutologgerConfig
+ New-EtwTraceSession
+ Remove-AutologgerConfig
+ Remove-EtwTraceProvider
+ Remove-EtwTraceSession
+ Send-EtwTraceSession
+ Set-AutologgerConfig
+ Set-EtwTraceProvider
+ Set-EtwTraceSession
+ Start-AutologgerConfig

Modulo Específico	
Nuevos CMDLets	WS 2016 
Cmdlets	WS 2012 R2
Cmdlets
FailoverClusters	          2	                  84	                   82
+ New-ClusterNameAccount
+ Update-ClusterFunctionalLevel
GroupPolicy	                     0 	                   29	                   29
HgsClient	                    11 	                   11	                    0
+ Export-HgsGuardian
+ Get-HgsAttestationBaselinePolicy
+ Get-HgsClientConfiguration
+ Get-HgsGuardian
+ Grant-HgsKeyProtectorAccess
+ Import-HgsGuardian
+ New-HgsGuardian
+ New-HgsKeyProtector
+ Remove-HgsGuardian
+ Revoke-HgsKeyProtectorAccess
+ Set-HgsClientConfiguration
Hyper-V	                            26	                  204	                  178
+ Add-VMGroupMember
+ Add-VMSwitchTeamMember
+ Add-VMTPM
+ Disable-VMConsoleSupport
+ Enable-VMConsoleSupport
+ Get-VHDSet
+ Get-VHDSnapshot
+ Get-VMGroup
+ Get-VMHostCluster
+ Get-VMSwitchTeam
+ Get-VMTPM
+ Get-VMVideo
+ New-VMGroup
+ Optimize-VHDSet
+ Remove-VHDSnapshot
+ Remove-VMGroup
+ Remove-VMGroupMember
+ Remove-VMSwitchTeamMember
+ Rename-VMGroup
+ Set-VMHostCluster
+ Set-VMSwitchTeam
+ Set-VMTPM
+ Set-VMVideo
+ Start-VMTrace
+ Stop-VMTrace
+ Update-VMVersion

Modulo Específico	
Nuevos CMDLets	WS 2016 
Cmdlets	WS 2012 R2
Cmdlets
IISAdministration              17	17	0
+ Get-IISAppPool
+ Get-IISConfigCollectionItem
+ Get-IISConfigElement
+ Get-IISConfigSection
+ Get-IISConfigValue
+ Get-IISServerManager
+ Get-IISSite
+ New-IISConfigCollectionItem
+ New-IISSite
+ Remove-IISConfigCollectionItem
+ Remove-IISSite
+ Reset-IISServerManager
+ Set-IISConfigValue
+ Start-IISCommitDelay
+ Start-IISSite
+ Stop-IISCommitDelay
+ Stop-IISSite
International	                0	18	18
iSCSI	                        0	13	13
IscsiTarget	                0	28	28
ISE	                        0	3	3
Kds	                        0	6	6
Microsoft.PowerShell.Archive	2	2	0
+ Compress-Archive
+ Expand-Archive
Microsoft.PowerShell.Core	5	60	55
+ Debug-Job
+ Enter-PSHostProcess
+ Exit-PSHostProcess
+ Get-PSHostProcessInfo
+ Register-ArgumentCompleter

Modulo Específico	             WS2016 WS2012 R2 Cmdlets
Microsoft.PowerShell.Diagnostics	0	5	5
Microsoft.PowerShell.Host	        0	2	2
Microsoft.PowerShell.Management	        4	86	82
+ Clear-RecycleBin
+ Get-Clipboard
+ Get-ItemPropertyValue
+ Set-Clipboard
Microsoft.PowerShell.ODataUtils	        1	1	0
+ Export-ODataEndpointProxy
Microsoft.PowerShell.Security	        0	13	13
Microsoft.PowerShell.Utility	       11	105	94
+ ConvertFrom-String
+ Convert-String
+ Debug-Runspace
+ Disable-RunspaceDebug
+ Enable-RunspaceDebug
+ Format-Hex
+ Get-Runspace
+ Get-RunspaceDebug
– GetStreamHash
+ New-Guid
+ New-TemporaryFile
+ Wait-Debugger
+ Write-Information



Microsoft.WSMan.Management	0	13	13
MMAgent	                        0	5	5
MsDtc	                        0	41	41
NetAdapter	                4	68	64
+ Disable-NetAdapterPacketDirect
+ Enable-NetAdapterPacketDirect
+ Get-NetAdapterPacketDirect
+ Set-NetAdapterPacketDirect
NetConnection	                0	2	2
NetEventPacketCapture	        0	23	23
NetLbfo	                        0	13	13
NetNat	                        0	13	13
NetQos	                        0	4	4
NetSecurity	                0	85	85
NetSwitchTeam	                0	7	7
NetTCPIP	                0	34	34
NetWNV	                        0	19	19
NetworkConnectivityStatus	0	4	4
NetworkController	      141	141	0
+ Add-NetworkControllerNode
+ Clear-NetworkControllerNodeContent
+ Disable-NetworkControllerNode
+ Enable-NetworkControllerNode
+ Export-NetworkController
+ Get-NetworkController
+ Get-NetworkControllerCanaryConfiguration
+ Get-NetworkControllerCluster
+ Get-NetworkControllerCredential
+ Get-NetworkControllerDevice
+ Get-NetworkControllerDeviceGroupingTestConfiguration
+ Get-NetworkControllerDeviceGroups
+ Get-NetworkControllerDeviceGroupUsage
+ Get-NetworkControllerDeviceUsage
+ Get-NetworkControllerDiagnostic
+ Get-NetworkControllerDiscoveredTopology
+ Get-NetworkControllerExternalTestRule
+ Get-NetworkControllerFabricRoute
+ Get-NetworkControllerGoalTopology
+ Get-NetworkControllerInterface
+ Get-NetworkControllerInterfaceUsage
+ Get-NetworkControllerIpPool
+ Get-NetworkControllerIpPoolStatistics
+ Get-NetworkControllerIpSubnetStatistics
+ Get-NetworkControllerLogicalNetwork
+ Get-NetworkControllerLogicalSubnet
+ Get-NetworkControllerMonitoringService
+ Get-NetworkControllerNode
+ Get-NetworkControllerPhysicalHostInterfaceParameter
+ Get-NetworkControllerPhysicalHostParameter
+ Get-NetworkControllerPhysicalSwitchCpuUtilizationParameter
+ Get-NetworkControllerPhysicalSwitchInterfaceParameter
+ Get-NetworkControllerPhysicalSwitchMemoryUtilizationParameter
+ Get-NetworkControllerPhysicalSwitchParameter
+ Get-NetworkControllerPSwitch
+ Get-NetworkControllerPublicIpAddress
+ Get-NetworkControllerServer
+ Get-NetworkControllerServerInterface
+ Get-NetworkControllerSwitchBgpPeer
+ Get-NetworkControllerSwitchBgpRouter
+ Get-NetworkControllerSwitchConfig
+ Get-NetworkControllerSwitchNetworkRoute
+ Get-NetworkControllerSwitchPort
+ Get-NetworkControllerSwitchPortChannel
+ Get-NetworkControllerSwitchVlan
+ Get-NetworkControllerTopologyConfiguration
+ Get-NetworkControllerTopologyDiscoveryStatistics
+ Get-NetworkControllerTopologyLink
+ Get-NetworkControllerTopologyNode
+ Get-NetworkControllerTopologyTerminationPoint
+ Get-NetworkControllerTopologyValidationReport
+ Get-NetworkControllerVirtualInterface
+ Get-NetworkControllerVirtualNetworkUsage
+ Get-NetworkControllerVirtualPort
+ Get-NetworkControllerVirtualServer
+ Get-NetworkControllerVirtualServerInterface
+ Get-NetworkControllerVirtualSwitch
+ Get-NetworkControllerVirtualSwitchPortParameter
+ Import-NetworkController
+ Install-NetworkController
+ Install-NetworkControllerCluster
+ New-NetworkControllerCanaryConfiguration
+ New-NetworkControllerCredential
+ New-NetworkControllerDevice
+ New-NetworkControllerDeviceGroupingTestConfiguration
+ New-NetworkControllerDeviceGroups
+ New-NetworkControllerExternalTestRule
+ New-NetworkControllerInterface
+ New-NetworkControllerIpPool
+ New-NetworkControllerLogicalNetwork
+ New-NetworkControllerMonitoringService
+ New-NetworkControllerNodeObject
+ New-NetworkControllerPhysicalHostInterfaceParameter
+ New-NetworkControllerPhysicalHostParameter
+ New-NetworkControllerPhysicalSwitchCpuUtilizationParameter
+ New-NetworkControllerPhysicalSwitchInterfaceParameter
+ New-NetworkControllerPhysicalSwitchMemoryUtilizationParameter
+ New-NetworkControllerPhysicalSwitchParameter
+ New-NetworkControllerPSwitch
+ New-NetworkControllerPublicIpAddress
+ New-NetworkControllerServer
+ New-NetworkControllerServerInterface
+ New-NetworkControllerSwitchBgpPeer
+ New-NetworkControllerSwitchBgpRouter
+ New-NetworkControllerSwitchNetworkRoute
+ New-NetworkControllerSwitchPortChannel
+ New-NetworkControllerSwitchVlan
+ New-NetworkControllerTopologyLink
+ New-NetworkControllerTopologyNode
+ New-NetworkControllerTopologyTerminationPoint
+ New-NetworkControllerVirtualInterface
+ New-NetworkControllerVirtualPort
+ New-NetworkControllerVirtualServer
+ New-NetworkControllerVirtualServerInterface
+ New-NetworkControllerVirtualSwitch
+ New-NetworkControllerVirtualSwitchPortParameter
+ Remove-NetworkControllerCanaryConfiguration
+ Remove-NetworkControllerCredential
+ Remove-NetworkControllerDevice
+ Remove-NetworkControllerDeviceGroupingTestConfiguration
+ Remove-NetworkControllerDeviceGroups
+ Remove-NetworkControllerExternalTestRule
+ Remove-NetworkControllerFabricRoute
+ Remove-NetworkControllerInterface
+ Remove-NetworkControllerIpPool
+ Remove-NetworkControllerLogicalNetwork
+ Remove-NetworkControllerLogicalSubnet
+ Remove-NetworkControllerNode
+ Remove-NetworkControllerPhysicalSwitchCpuUtilizationParameter
+ Remove-NetworkControllerPhysicalSwitchMemoryUtilizationParameter
+ Remove-NetworkControllerPSwitch
+ Remove-NetworkControllerPublicIpAddress
+ Remove-NetworkControllerServer
+ Remove-NetworkControllerServerInterface
+ Remove-NetworkControllerSwitchBgpPeer
+ Remove-NetworkControllerSwitchBgpRouter
+ Remove-NetworkControllerSwitchNetworkRoute
+ Remove-NetworkControllerSwitchPortChannel
+ Remove-NetworkControllerSwitchVlan
+ Remove-NetworkControllerTopologyLink
+ Remove-NetworkControllerTopologyNode
+ Remove-NetworkControllerTopologyTerminationPoint
+ Remove-NetworkControllerVirtualInterface
+ Remove-NetworkControllerVirtualPort
+ Remove-NetworkControllerVirtualServer
+ Remove-NetworkControllerVirtualServerInterface
+ Remove-NetworkControllerVirtualSwitch
+ Repair-NetworkControllerCluster
+ Set-NetworkController
+ Set-NetworkControllerCluster
+ Set-NetworkControllerDiagnostic
+ Set-NetworkControllerFabricRoute
+ Set-NetworkControllerGoalTopology
+ Set-NetworkControllerLogicalSubnet
+ Set-NetworkControllerNode
+ Set-NetworkControllerSwitchConfig
+ Set-NetworkControllerSwitchPort
+ Set-NetworkControllerTopologyConfiguration
+ Start-NetworkControllerTopologyDiscovery
+ Uninstall-NetworkController
+ Uninstall-NetworkControllerCluster


NetworkLoadBalancingClusters	               0	35	   35
NetworkSwitchManager	                      19	19	    0
+ Disable-NetworkSwitchEthernetPort
+ Disable-NetworkSwitchFeature
+ Disable-NetworkSwitchVlan
+ Enable-NetworkSwitchEthernetPort
+ Enable-NetworkSwitchFeature
+ Enable-NetworkSwitchVlan
+ Get-NetworkSwitchEthernetPort
+ Get-NetworkSwitchFeature
+ Get-NetworkSwitchGlobalData
+ Get-NetworkSwitchVlan
+ New-NetworkSwitchVlan
+ Remove-NetworkSwitchEthernetPortIPAddress
+ Remove-NetworkSwitchVlan
+ Restore-NetworkSwitchConfiguration
+ Save-NetworkSwitchConfiguration
+ Set-NetworkSwitchEthernetPortIPAddress
+ Set-NetworkSwitchPortMode
+ Set-NetworkSwitchPortProperty
+ Set-NetworkSwitchVlanProperty


NetworkTransition	                       0	34	34
NFS	                                       0	42	42
Nps	                                      -6	 7	13
- Get-NpsRemediationServer
– Get-NpsRemediationServerGroup
– New-NpsRemediationServer
– New-NpsRemediationServerGroup
– Remove-NpsRemediationServer
– Remove-NpsRemediationServerGroup
PackageManagement	                      10	10	0
+ Find-Package
+ Get-Package
+ Get-PackageProvider
+ Get-PackageSource
+ Install-Package
+ Register-PackageSource
+ Save-Package
+ Set-PackageSource
+ Uninstall-Package
+ Unregister-PackageSource
PcsvDevice	                               4	9	5
+ Clear-PcsvDeviceLog
+ Get-PcsvDeviceLog
+ Set-PcsvDeviceNetworkConfiguration
+ Set-PcsvDeviceUserPassword
Pester	                                      20	20	0
+ AfterAll
+ AfterEach
+ Assert-MockCalled
+ Assert-VerifiableMocks
+ BeforeAll
+ BeforeEach
+ Context
+ Describe
+ Get-MockDynamicParameters
+ Get-TestDriveItem
+ In
+ InModuleScope
+ Invoke-Mock
+ Invoke-Pester
+ It
+ Mock
+ New-Fixture
+ Set-DynamicParameterVariables
+ Setup
+ Should
PKI	                                       0	17	17
PnpDevice	                               4	4	0
+ Disable-PnpDevice
+ Enable-PnpDevice
+ Get-PnpDevice
+ Get-PnpDeviceProperty
PowerShellGet                                 11	11	0
+ Find-Module
+ Get-InstalledModule
+ Get-PSRepository
+ Install-Module
+ Publish-Module
+ Register-PSRepository
+ Save-Module
+ Set-PSRepository
+ Uninstall-Module
+ Unregister-PSRepository
+ Update-Module
PrintManagement	                              0	        22	22
PSDesiredStateConfiguration	              5	        17	12
+ Connect-DscConfiguration
+ Find-DscResource
+ Get-DscConfigurationStatus
+ Invoke-DscResource
+ Publish-DscConfiguration

Modulo Específico	
Nuevos CMDLets	WS 2016 
Cmdlets	WS 2012 R2
Cmdlets
PSDiagnostics	                              0	        10	10
PSReadline	                              5	         5	 0
+ Get-PSReadlineKeyHandler
+ Get-PSReadlineOption
+ Remove-PSReadlineKeyHandler
+ Set-PSReadlineKeyHandler
+ Set-PSReadlineOption
PSScheduledJob	                              0	        16	16
PSWorkflow	                              0	         2	 2
PSWorkflowUtility	                      0	         1	 1
RemoteAccess	                             14	       121     107
+ Add-BgpRouteAggregate
+ Add-VpnSstpProxyRule
+ Clear-BgpRouteFlapDampening
+ Disable-BgpRouteFlapDampening
+ Enable-BgpRouteFlapDampening
+ Get-BgpRouteAggregate
+ Get-BgpRouteFlapDampening
+ Get-VpnSstpProxyRule
+ New-VpnSstpProxyRule
+ Remove-BgpRouteAggregate
+ Remove-VpnSstpProxyRule
+ Set-BgpRouteAggregate
+ Set-BgpRouteFlapDampening
+ Set-VpnSstpProxyRule
RemoteDesktop	                              5	        78	73
+ Export-RDPersonalSessionDesktopAssignment
+ Get-RDPersonalSessionDesktopAssignment
+ Import-RDPersonalSessionDesktopAssignment
+ Remove-RDPersonalSessionDesktopAssignment
+ Set-RDPersonalSessionDesktopAssignment

Modulo Específico	  Nuevos CMDLets    WS 2016 Cmdlets	WS 2012 R2 Cmdlets
ScheduledTasks	                0	           19	                19
SecureBoot	                0	            5	                 5
ServerCore	                0	            2	                 2
ServerManager	                0	            7	                 7
ServerManagerTasks	        0	           11	                11
ShieldedVMDataFile	        3	            3	                 0
+ Import-ShieldingDataFile
+ New-VolumeIDQualifier
+ Protect-ShieldingDataFile
ShieldedVMTemplate	        1	            1	                 0
+ Protect-ServerVHDX
SmbShare	                0	           35	                35
SmbWitness	                0	            3	                 3
SoftwareInventoryLogging	0	           11	                11
StartScreen	                0	            3	                 3
Storage	                       32	          140	               108
+ Block-FileShareAccess
+ Clear-StorageDiagnosticInfo
+ Debug-FileShare
+ Debug-StorageSubSystem
+ Disable-PhysicalDiskIdentification
+ Disable-StorageDiagnosticLog
+ Enable-PhysicalDiskIdentification
+ Enable-StorageDiagnosticLog
+ Get-DedupProperties
+ Get-DiskSNV
+ Get-DiskStorageNodeView
+ Get-FileShare
+ Get-FileShareAccessControlEntry
+ Get-StorageAdvancedProperty
+ Get-StorageDiagnosticInfo
+ Get-StorageEnclosureSNV
+ Get-StorageEnclosureStorageNodeView
+ Get-StorageFaultDomain
+ Get-StorageFileServer
+ Grant-FileShareAccess
+ New-FileShare
+ New-StorageFileServer
+ Optimize-StoragePool
+ Remove-FileShare
+ Remove-StorageFileServer
+ Revoke-FileShareAccess
+ Set-FileShare
+ Set-StorageFileServer
+ Start-StorageDiagnosticLog
+ Stop-StorageDiagnosticLog
+ Stop-StorageJob
+ Unblock-FileShareAccess
StorageQoS	                               6	6	0
+ Get-StorageQoSFlow
+ Get-StorageQoSPolicy
+ Get-StorageQoSVolume
+ New-StorageQoSPolicy
+ Remove-StorageQoSPolicy
+ Set-StorageQoSPolicy
StorageReplica	                              11	11	0
+ Get-SRGroup
+ Get-SRPartnership
+ New-SRGroup
+ New-SRPartnership
+ Remove-SRGroup
+ Remove-SRPartnership
+ Set-SRGroup
+ Set-SRPartnership
+ Suspend-SRGroup
+ Sync-SRGroup
+ Test-SRTopology
TLS	                                       3	7	4
+ Disable-TlsCipherSuite
+ Enable-TlsCipherSuite
+ Get-TlsCipherSuite
TroubleshootingPack	                       0        2	2
TrustedPlatformModule	                       0       11      11


UpdateServices	                               4	16	12
+ Add-WsusDynamicCategory
+ Get-WsusDynamicCategory
+ Remove-WsusDynamicCategory
+ Set-WsusDynamicCategory

Como vemos, Microsoft nos brinda muchas más posibilidades con Windows PowerShell en Server 2016.

 

 

[color=#a9a9a9]Pulsa la imagen para ampliarla[/color]

 

 

Para obtener una información más detallada acerca de las funciones de los cmdlets podemos visitar la siguiente página:

 

 Funciones PowerShell 4.0

 

Allí podremos encontrar las diferentes categorías y la sintaxis de cómo usarlos.

 

Como sabemos podemos ejecutar PowerShell de diferentes maneras:

  • Normal: Nos permite ejecutar cmdlets con parámetros de usuario normal
  • Modo administrador: Podemos ejecutar cmdlets con permisos administrativos para realizar tareas más específicas, para ejecutar como administrador damos clic derecho en el ícono de PowerShell y elegimos Ejecutar como administrador o Run as Administrator
  • Modo ISE: Con el modo ISE podremos ejecutar nuestro PowerShell usando scripts.

 

Ejecutar como administrador

[color=#a9a9a9]Pulsa la imagen para ampliarla[/color]

 

 

Modo ISE

[color=#a9a9a9]Pulsa la imagen para ampliarla[/color]

 

 

Es importante que podemos ejecutar PowerShell para prácticamente todos los procesos que realizamos en nuestra organización, desde instalaciones, eliminaciones. agregar roles, modificar características, etc.

 

Como siempre lo hemos recomendado, es importante usar entornos virtuales para realizar pruebas y no afectar el óptimo rendimiento de la organización.

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!