Yritän ajaa [tag:cmd]-tiedostoa, joka kutsuu [tag:powershell]-skriptiä `cmd.exe-ohjelmasta, ja saan alla olevan virheen:
Management_Install.ps1
ei voida ladata, koska komentosarjojen suorittaminen on poistettu käytöstä tässä järjestelmässä.
Olen suorittanut
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
ja kun suoritan Get-ExecutionPolicy
[tag:powershell], saan takaisin Unrestricted
.
PS C:\Users\Administrator\> Get-ExecutionPolicy
Unrestricted
C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> powershell .\Management_Install.ps1 1
WARNING: Running x86 PowerShell...
Tiedostoa
C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1
ei voida ladata, koska komentosarjojen suoritus on poistettu käytöstä tässä järjestelmässä. Lisätietoja on kohdassa "get-help about_signing
".
Rivillä:1 merkkijono:25
.\Management_Install.ps1
<<<<< 1
- CategoryInfo : NotSpecified: (:) [], PSSecurityException
- FullyQualifiedErrorId : RuntimeException : RuntimeException
C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> PAUSE
Press any key to continue . . .
Järjestelmä on Windows Server 2008R2.
Mitä teen väärin?
Jos käytät Windows Server 2008 R2:ta, PowerShellistä on olemassa x64- ja x86-versio, joiden molempien suorituskäytännöt on määritettävä. Asetitko suorituspolitiikan molemmille isännille?
Administraattorina voit asettaa suorituskäytännön kirjoittamalla tämän PowerShell-ikkunaan:
Set-ExecutionPolicy RemoteSigned
Lisätietoja on kohdassa Set-ExecutionPolicy Cmdlet -komennon käyttäminen.
RemoteSigned: kaikki itse luodut komentosarjat suoritetaan, ja kaikkien Internetistä ladattujen komentosarjojen on oltava luotettavan julkaisijan allekirjoittamia.
OK, muuta käytäntöä kirjoittamalla yksinkertaisesti:
Set-ExecutionPolicy RemoteSigned