DSC

19 Nov

Hola a todos.

Llevo mucho tiempo con este Blog parado… y creo que es el momento de empezar a llenarlo. A ver cu谩nto tiempo me lleva 馃槮

Estoy colaborando en un proyecto grande de DSC (4000 servidores)… y creo que parte de la experimentaci贸n llevada a cabo podr铆a ser 煤til para otros usuarios… y servir como base de investigaci贸n, 煤til para todos.

Vamos all谩.

 

   La primera consideraci贸n es sobre las versiones de DSC : Qu茅 usar, WMF 4.0, 5.0 贸 5.1 ?

   Como los servidores tienen distintas versiones del sistema, la decisi贸n de hasta d贸nde actualizarlos (si es posible) es importante. Todos conocemos el coste y el riesgo de una actualizaci贸n…

   Por resumir mi opini贸n en una s贸la frase : WMF 4, en su estado actual (Nov 2016), parches incluidos, es un trozo de (#######) (censurado). 

   *** No se puede poner en producci贸n y esperar resultados fiables. ****

   La idea de DSC es brillante… pero la implementaci贸n en WMF 4.0 es terrible. Microsoft deber铆a recomendar p煤blica y oficialmente en toda su (escasa) documentaci贸n oficial el uso m铆nimo de la versi贸n 5.

 

   Varios errores frecuentes que cualquiera puede comprobar :

 

   1) Una configuraci贸n escrita con WMF 5.0 no se ejecuta correctamente en un WMF 4.0. Es impredecible. A veces va bien,
a veces da errores (RPC, WinCIM, 0x800706BE…), a veces falla, mostrando trozos incorrectos de la configuraci贸n… Documentado en

http://mikefrobbins.com/2014/10/30/powershell-desired-state-configuration-error-undefined-property-configurationname/
https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/13757835-wmf-5-dsc-backward-compatibility

      Si se lanza la configuraci贸n dos veces consecutivas, suele fallar :

https://connect.microsoft.com/PowerShell/feedback/details/1251766/executing-start-dscconfiguration-too-fast-after-each-other-results-in-wm-management-error

      Si el tama帽o de la configuraci贸n supera un cierto valor, falla casi siempre. Hay algo tambi茅n reportado en Connect (relacionado con quotas en WINRM)…

      Con lo cual el plan inicial ser铆a mantener dos entornos aislados, 4 y 5, para generar en la misma versi贸n que la va a ejecutar… Co帽azo pero factible. Por supuesto, requiere m谩s investigaci贸n sobre las quotas…. peero…

 

 

   2) Al tratar de aplicar una configuraci贸n, o simplemente comprobar el estado, a veces (demasiado frecuentes) el LCM devuelve errores porque no est谩 en estado Idle. Bueno, bastar铆a con comprobarlo antes de llamar, y si est谩 Busy, esperar y reintentar. O eso pensaba yo.

      Al probar este enfoque compruebo que una vez que el LCM ha devuelto "Busy", todas las llamadas siguientes, tras esperar un tiempo prudencial, siguen devolviendo "Busy". Para siempre. (Dentro de una sesi贸n WinCIM remota)

      Sin embargo, si lo compruebo localmente en el servidor, est谩 "Idle". Ohhh. Manique铆smo total, est谩 Idle y Busy a la vez ?

      Parece ser que el estado remoto queda cacheado… o sea que el "Local Config Manager" no es tan local como parece, depende de c贸mo se mire.

      Por supuesto, todas las pruebas hechas en WMF 5.0 funcionan correctamente (hasta ahora).

      Y por supuesto, todas las pruebas en WMF 4.0 se han hecho con los sistemas totalmente parcheados, incluyendo el famoso KB2883200 y KB3000850 y algunos m谩s…

 

      La recomendaci贸n NO OFICIAL (de momento) de Microsoft fue usar exclusivamente WMF 5 en este proyecto… as铆 que la l铆nea de actuaci贸n parece clara. Migrar los sistemas a WMF 5.0 donde sea posible, y esperar a ver si alg煤n siglo de estos escriben el back-port para el resto.

 

El siguiente punto a tratar es el uso de Configuraciones Compuestas (Composite Configurations), para modularizarlas al m谩ximo.
Y la documentaci贸n de los Flags de PerformRequiredConfigurationChecks en "MSFT_DSCLocalConfigurationManager".
Dejo ambos para una siguiente entradas, que son largos tambi茅n鈥

Anuncios

First (quick) tests with PowerShell 5 (Sep 2014 preview)

7 Sep

(Updated on 9-Sep after having more time to test Chocolatey properly)

Today I’ve found the new WMF 5.0 PREVIEW (September 2014) has been released…which of course includes PowerShell v5.

Some very quick testing :

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 http://www.microsoft.com/en-us/download/details.aspx?id=44070

  • Read the Release Notes !
  • If installed, you have to remove聽the previous WMF 5.0 May 2014 Preview (1 reboot), and install the Sep 2014 preview(and another reboot)
  • I’ve tested it in Windows 8.1聽with EN-US regional settings聽 (as other cultures didn’t work with May release !)

Once running and verified with $PSVersionTable, some quick interesting facts :

a) Start-Transcript is now available in the ISE

transcript

b) There are two new cmdlets (well, functions) to work with ZIPPED files : Compress-Archive and Expand-Archive

modulearchive

Strangely enough, Get-Module -List聽didn’t work聽in the ISE, but only聽on the first time.聽I’ll have to check further.

c) This was already present聽in the May 2014 release…. NuGet/OneGet Packages. Try

Find-Package聽 *

The first time you run it it will install NuGet. After that, run it again, you’ll聽get something like -listing abbreviated- :

packages1

A new world of code opens here… Of course PoshInternals and Posh-VirusTotal seem interesting names… I’ll probably write my next post based on them 馃檪

Find-Package *cookbook*聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 聽聽聽聽聽聽聽聽 # and

Find-Package *cookbook* | Install-Package 聽-Force聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 # are also nice. But run this one聽elevated…

d) PowerShell聽Get.聽 This helps locate and install PowerShell Modules (not packages, as the previous OneGet)聽

聽聽聽聽 Find-Module

聽聽聽聽聽Strangely, this cmdlet cannot use wildcards… use Find-Module with no params instead of Find-Module *.

聽聽聽聽 Or Find-Module Internals

聽聽聽聽 The repository used is now PSGallery… Chocolatey is not available by default. Use Get-PackageSource to display the used sources.

聽聽聽 There is some initial overlap between theoutput of the聽two methods.

twomethods聽聽e) Installing Chocolatey for the 1st time : (again, elevated)

聽聽聽聽聽聽聽聽 Invoke-Expression ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))

聽聽聽聽聽聽聽聽 This downloads and installs Chocolatey.

聽聽聽聽聽聽聽聽聽However, PowerShellGet does not consider it as a possible source, by default聽 (The May 2014 preview did).

聽聽聽聽聽聽聽聽 Try

聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Get-PackageProvider聽聽聽聽 # (two providers are available, NuGet and PSModule)

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Get-PackageSource聽聽聽聽聽 # Two sources, MSGallery and MSPSGallery, but聽not Chocolatey聽.

聽聽聽聽聽聽聽 Now

聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Register-PackageSource -Name Chocolatey聽聽 `

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 -Location “http://chocolatey.org/api/v2/”聽 -Provider PSModule -Trusted -Verbose

聽聽聽聽聽聽 Notice old documentation pointed to Add-PackageSource which no longer exists.

聽聽聽聽聽 聽Now Chocolatey is integrated. Finally, try

聽聽聽聽聽聽聽聽聽聽聽聽 Find-Package Cookbook

聽聽聽聽聽聽聽聽聽聽聽聽 Find-Package聽 Visual

聽聽聽聽聽聽聽聽聽聽聽聽 Find-Package Office

聽聽聽聽聽 and many others… a miriad of tools to install and investigate.

——————————————————————

聽聽 f) More interesting聽things to check from Release Notes : Symbolic Links !!!

聽 Yes, I know this is just a starter… to be continued soon, in a different post.

聽聽

jc聽

Changing jobs

10 Ago

Yes, I鈥檓 invited to leave Microsoft鈥

I鈥檒l try to deliver the same sort of services (PowerShell Training, AD, Ad-hoc scripting鈥) but in a different way.

Stay tuned.

Lab 1 –How many months per year ?

19 Mar

I assume you live frequently on the Earth, you use a calendar (I don鈥檛 mind if it鈥檚 Gregorian, Lunisolar,  or any other one)鈥 and you have something called 鈥淢onths鈥 in it. If you work inside the ISS you can skip this lab.

The question is鈥 How many months do you have in your year ?

(Hint : 12 is NOT the right answer)

Powershell can help you to enumerate them. Try

# ————————————————————

$Country = "es-es"

# Choose yours. For example.

# "he-IL", 鈥渇r-FR鈥, 鈥渆n-us鈥, 鈥渋t-it鈥 and so on

$Cult = [globalization.cultureinfo]::CreateSpecificCulture($Country)

$Format = $cult.DateTimeFormat

$Months = $Format.MonthNames

write-host " Month list "        # Displaying the list

$Months | format-table
$Months | out-gridview

write-host "You have " $Months.Count

#————————————————————

Yes, the result is 13. Can you find any explanation ?

Up and Running

19 Mar

logo_512x512_normal

Hello all.

After some investigation, I鈥檝e managed to (get the time to) create my Powershell blog.

I鈥檒l provide examples, crazy ideas, questions, labs, exercises鈥

In English.  Maybe in Spanish or Monegronio in the future鈥

jc

Inicio…

3 Mar

Este es el Blog de JC…

Troubleshooter, Troublemaker, Trainer, y otros. Trabajando para Microsoft como PFE.

Usar茅 este blog para publicar informaci贸n sobre las tecnolog铆as a las que me dedico. B谩sicamente :

Powershell, Active Directory, Cluster, y rendimiento de Windows.

Hello world!

3 Mar

Hello all…

I’m starting with my Powershell blog. Just testing.

And remember :

Powershell is useless…

…unless you find a good usage for it.