Question Script pour prérequis d'exchange 2007

Plus d'informations
il y a 11 ans 9 mois #2854 par Arnaud
Bonjour,

Je débarque un peu sur ce fil, mais quel intérêt de tester que le Framework 2.0 est bien installé ?
Dans la mesure où PowerShell fonctionne, il est forcément installé.

Arnaud

Créateur du forum de la communauté PowerShell Francophone

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 9 mois #2855 par Laurent Dardenne
Tartar écrit:

renvoi une valeur null, alors que fx2.0 est installé. as tu une idée?

Le fait qu'un service pack soit installé,\"Microsoft .NET Framework 2.0 Service Pack 1\", semble remplacer l'entrée \"Microsoft .NET Framework 2.0\". MS considére donc qu'on est en fx 2.0 SP1.
[code:1]
$CompName='.'
Get-WmiObject -Class Win32_Product -ComputerName $CompName -Filter \"Name='Microsoft .NET Framework 2.0 Service Pack 1'\"
[/code:1]
Si on recherche toutes les entrées de MS :
[code:1]
Get-WmiObject -Class Win32_Product -ComputerName $CompName -Filter \"Name like '%Microsoft%'\"
[/code:1]
On peut voir, selon les machines, que le 1.1 est bien nommé \"Microsoft .NET Framework 1.1\" ainsi que \"Microsoft .NET Compact Framework 2.0\" pour les PDA.
Pour le 3.0 cela suit la même régle : Microsoft .NET Framework 3.0 Service Pack 1
Si on recherche toutes les entrées de MS concerant les framework:
[code:1]
Get-WmiObject -Class Win32_Product -ComputerName $CompName -Filter \"Name like '%Microsoft .NET%'\"|select name
[/code:1]

Microsoft .NET Framework 2.0 Language Pack - FRA
Microsoft .NET Compact Framework 1.0 SP3 Developer
Microsoft .NET Framework 3.0 Service Pack 1
Microsoft .NET Framework 2.0 Service Pack 1
Microsoft .NET Framework 1.1 French Language Pack
Microsoft .NET Compact Framework 2.0
Microsoft .NET Framework 1.1
Microsoft .NET Framework SDK (French) 1.1

Arnaud écrit:

mais quel intérêt de tester que le Framework 2.0 est bien installé ?
Dans la mesure où PowerShell fonctionne, il est forcément installé.

Effectivement à moins de vouloir installer le service pack 1 le test n'est pas nécessaire.

Tartar écrit:

Comment puis je récuperer en pwshell le KB Article number d'un hotfix? avec get-itemproperty?

Je n'ai jamais fait. Mais dans ce cas je recherche dans la librairie de script VBS, j'y trouve cet objet \"Microsoft.Update.Searcher\"
msdn.microsoft.com/en-us/library/aa386515(VS.85).aspx
[code:1]
Set objSearcher = CreateObject(\"Microsoft.Update.Searcher\"«»)
Set objResults = objSearcher.Search(\"Type='Software'\"«»)
Set colUpdates = objResults.Updates

For i = 0 to colUpdates.Count - 1
Wscript.Echo \"Title: \" & colUpdates.Item(i).Title
Wscript.Echo \"Autoselect on Web sites: \" & _
colUpdates.Item(i).AutoSelectOnWebSites

For Each strUpdate in colUpdates.Item(i).BundledUpdates
Wscript.Echo \"Bundled update: \" & strUpdate
Next
Wscript.Echo \"Can require source: \" & colUpdates.Item(i).CanRequireSource
Set objCategories = colUpdates.Item(i).Categories

For z = 0 to objCategories.Count - 1
Wscript.Echo \"Category name: \" & objCategories.Item(z).Name
Wscript.Echo \"Category ID: \" & objCategories.Item(z).CategoryID
For Each strChild in objCategories.Item(z).Children
Wscript.Echo \"Child category: \" & strChild
Next
Wscript.Echo \"Category description: \" & _
objCategories.Item(z).Description
Wscript.Echo \"Category order: \" & objCategories.Item(z).Order
Wscript.Echo \"Category type: \" & objCategories.Item(z).Type
Next

Wscript.Echo \"Deadline: \" & colUpdates.Item(i).Deadline
Wscript.Echo \"Delta compressed content available: \" & _
colUpdates.Item(i).DeltaCompressedContentAvailable
Wscript.Echo \"Delta compressed content preferred: \" & _
colUpdates.Item(i).DeltaCompressedContentPreferred
Wscript.Echo \"Description: \" & colUpdates.Item(i).Description
Wscript.Echo \"EULA accepted: \" & colUpdates.Item(i).EULAAccepted
Wscript.Echo \"EULA text: \" & colUpdates.Item(i).EULAText
Wscript.Echo \"Handler ID: \" & colUpdates.Item(i).HandlerID

Set objIdentity = colUpdates.Item(i).Identity
Wscript.Echo \"Revision number: \" & objIdentity.RevisionNumber
Wscript.Echo \"Update ID: \" & objIdentity.UpdateID

Set objInstallationBehavior = colUpdates.Item(i).InstallationBehavior
Wscript.Echo \"Can request user input: \" & _
objInstallationBehavior.CanRequestUserInput
Wscript.Echo \"Impact: \" & objInstallationBehavior.Impact
Wscript.Echo \"Reboot behavior: \" & objInstallationBehavior.RebootBehavior
Wscript.Echo \"Requires network connectivity: \" & _
objInstallationBehavior.RequiresNetworkConnectivity
Wscript.Echo \"Is beta: \" & colUpdates.Item(i).IsBeta
Wscript.Echo \"Is hidden: \" & colUpdates.Item(i).IsHidden
Wscript.Echo \"Is installed: \" & colUpdates.Item(i).IsInstalled
Wscript.Echo \"Is mandatory: \" & colUpdates.Item(i).IsMandatory
Wscript.Echo \"Is uninstallable: \" & colUpdates.Item(i).IsUninstallable

For Each strLanguage in colUpdates.Item(i).Languages
Wscript.Echo \"Supported language: \" & strLanguage
Next

Wscript.Echo \"Last deployment change time: \" & _
colUpdates.Item(i).LastDeploymentChangeTime
Wscript.Echo \"Maximum download size: \" & colUpdates.Item(i).MaxDownloadSize
Wscript.Echo \"Minimum download size: \" & colUpdates.Item(i).MinDownloadSize
Wscript.Echo \"Microsoft Security Response Center severity: \" & _
colUpdates.Item(i).MsrcSeverity
Wscript.Echo \"Recommended CPU speed: \" & _
colUpdates.Item(i).RecommendedCPUSpeed
Wscript.Echo \"Recommended hard disk space: \" & _
colUpdates.Item(i).RecommendedHardDiskSpace
Wscript.Echo \"Recommended memory: \" & colUpdates.Item(i).RecommendedMemory
Wscript.Echo \"Release notes: \" & colUpdates.Item(i).ReleaseNotes
Wscript.Echo \"Support URL: \" & colUpdates.Item(i).SupportURL
Wscript.Echo \"Type: \" & colUpdates.Item(i).Type
Wscript.Echo \"Uninstallation notes: \" & _
colUpdates.Item(i).UninstallationNotes

x = 1
For Each strStep in colUpdates.Item(i).UninstallationSteps
Wscript.Echo x & \" -- \" & strStep
x = x + 1
Next

For Each strArticle in colUpdates.Item(i).KBArticleIDs
Wscript.Echo \"KB article: \" & strArticle
Next

Wscript.Echo \"Deployment action: \" & colUpdates.Item(i).DeploymentAction
Wscript.Echo
Next
[/code:1]
Ensuite je recherche dans google \"Powershell Microsoft.Update.Searcher\"
etc, etc :P

Enfin a tester quand même ;)

[edit]
Un exemple
[code:1]$UpdateSearcher = new-object -com \"Microsoft.Update.Searcher\"
$Results = $UpdateSearcher.Search(\"Type='Software'\"«»)
$Updates = $Results.Updates
ForEach( $Article in $Updates)
{
Echo \"KB article: $($Article.KBArticleIDs)\"
}
$ie = New-Object -com internetexplorer.application
#Affiche l'article lié au dernier hotfix : #http://support.microsoft.com/kb/NumeroDeKB/fr
$ie.navigate(\" support.microsoft.com/kb/$ ($Updates.item($Updates.Count-1).KBArticleIDs)/fr\"«»)
$ie.visible = $true
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 25/09/08 12:51

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 9 mois #2856 par Tartar
l'interet est que le script peut etre executé sur un serveur distant, et surtout savoir si on doit installé les hotfix (KB926776 et KB942084)du framework .NET comme décrit dans les préréquis d'Exchange.
:blink: c'est pourquoi je désire récupérer les infos KB de .NET aussi.

Toujours dans le contexte des prérequis, Il est nécessaire d'installer IIS avec RPC over HTTP pour le cas d'un server CAS. Pour installer iis j'utilise donc la méthode sysocmgr /u:unattend.inf qui fonctionne à merveille.
Cependant je ne trouve pas le component necessaire qui active RPC over HTTP. j'ai scruté notre ami google sans succes, any idea?:blush:

En tous cas merci à laurent pour ces infos.
Je vais tenter de voir ce que je peux faire avec update.searcher

Thx
Tarik

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 9 mois #2857 par Laurent Dardenne
Tartar écrit:

Cependant je ne trouve pas le component necessaire qui active RPC over HTTP. j'ai scruté notre ami google sans succes, any idea?:blush:

j'ai trouvé ceci mais je ne suis pas sûr ce que cela réponde à ta question.
support.microsoft.com/kb/833401/
msdn.microsoft.com/en-us/library/aa375384.aspx

Sinon il faut tracer une installation de RPC over HTTP avec filemon/regmon, ou mieux demander à MS...

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 9 mois #2858 par Tartar
apparement ce serait le paramètre suivant:
[components]
netcis = on

Si ça peux aider.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.241 secondes
Propulsé par Kunena