4

Je veux faire un fichier bat pour installer .Net Framework 3.5 sur Windows Server 2012. J'ai essayé comme ça, mais sans succès:fichier bat pour installer .NET Framework 3.5 pour le serveur gagnant 2012

cd /D %userprofile% 
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe 
Import-Module ServerManager 
powershell -ImportSystemModules Add-WindowsFeature NET-Framework-Features 

Il semble que, après avoir entré dans la console PowerShell 2 dernières commandes ne sont pas exécutées.

Est-ce que quelqu'un a une idée de pourquoi se bloque?

Ou est-ce que quelqu'un a d'autres fichiers bat comment automatiser l'installation de .net 3.5 dans Windows Server 2012?

Après plus d'essais j'ai fait fonctionner la chauve-souris avec la commande suivante quand elle est exécutée manuellement.

call C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ImportSystemModules Add-WindowsFeature NET-Framework-Features 

Mais lorsque je tente de l'exécuter dotnetInstaller même chauve-souris ne fonctionne plus

<component command="CMD.EXE /K &quot;#APPPATH\Install.net3.5.bat&quot;" command_silent="" command_basic="" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="" returncodes_reboot="" disable_wow64_fs_redirection="False" id=".Net 3.5 SP1 Win8Server" display_name=".Net 3.5 SP1" uninstall_display_name="" os_filter="" os_filter_min="winServer2008R2" os_filter_max="" os_filter_lcid="" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="" allow_continue_on_error="True" default_continue_on_error="False" required_install="True" required_uninstall="True" selected_install="True" selected_uninstall="True" note="" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="True"> 
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" fieldname="Install" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" /> 
     <installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" fieldname="SP" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" /> 
    </component> 

Je reçois cette erreur Toute idée pourquoi?

Le terme 'Add-WindowsFeature' n'est pas reconnu comme le nom d'une applet de commande, functi on, fichier de script ou programme exécutable. Vérifiez l'orthographe du nom ou, si un p ath était inclus, vérifiez que le chemin est correct et réessayez. À la ligne: 1 Caractère: 19 + Add-WindowsFeature < < < < net-cadre-caractéristiques -name + CategoryInfo: ObjectNotFound: (Add-WindowsFeature: String) [], CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException

Répondre

1

Je l'ai fait travailler avec cette chauve-souris:

call C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ImportSystemModules Add-WindowsFeature NET-Framework-Features 

Et dotnetInstaller bootstrapper:

<component command="Install.net3.5.bat" command_silent="" command_basic="" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="" returncodes_reboot="" disable_wow64_fs_redirection="True" id=".Net 3.5 SP1 Win8Server" display_name=".Net 3.5 SP1" uninstall_display_name="" os_filter="" os_filter_min="winServer2008R2" os_filter_max="" os_filter_lcid="" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="" allow_continue_on_error="True" default_continue_on_error="False" required_install="True" required_uninstall="True" selected_install="True" selected_uninstall="True" note="" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="True"> 
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" fieldname="Install" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" /> 
     <installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" fieldname="SP" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" /> 
    </component> 

Il semble que cela ne fonctionnait pas avant parce que le programme d'amorçage commençait le processus de chauve-souris en 32 bits lequel PS n'a pas aimé. Donc je mets disable_wow64_fs_redirection = "True" maintenant il fonctionne la chauve-souris comme processus de 64 bits et cela fonctionne :)

Merci à tous pour la réponse. J'ai posté la réponse peut-être vous aider quelqu'un d'autre :)

0

Cela fonctionne de la manière suivante:

cd /D %userprofile% 
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command "Import-Module ServerManager; ImportSystemModules Add-WindowsFeature NET-Framework-Features" 
pause 
0

Pour exécuter des commandes avec Powershell utiliser le paramètre -Command, comme ceci:

powershell.exe -command "&{Import-Module ServerManager; ImportSystemModules Add-WindowsFeature NET-Framework-Features}" 
4

Deux options:

1) Utilisez un fichier de script et le paramètre de fichier.

############# 
## script.ps1 
Import-Module ServerManager 
Add-WindowsFeature NET-Framework-Features 

Puis Execute:

powershell -File c:\script.ps1 

2) Utilisez le paramètre de commande:

powershell -Command "Import-Module ServerManager; Add-WindowsFeature NET-Framework-Features" 

Dans tous les cas, essayez d'éviter le commutateur -ImportSystemModules (désapprouvée v3), il est juste une exagération. Il chargera tous les modules du système quand tout ce dont vous avez besoin est juste le module ServerManager. Et si vous travaillez en v3, la commande Import-Module est également redondante. Voir le module autp-loading feature.

0

Aller à une invite de commande et entrez ceci:

dism/ligne/enable-fonction/featurename: NetFX3/all/Source: d: \ sources \ sxs/LimitAccess

Remarque: Source doit être le disque d'installation de Windows 2012. Dans mon cas, il était situé sur D:

Questions connexes