How to run powershell command in batch file

后端 未结 3 1946
轮回少年
轮回少年 2021-01-25 16:50
@ECHO off

$BIOS= Get-WmiObject -computername \"BAHRIATSG2-PC\" -Namespace 
root/hp/instrumentedBIOS -Class HP_BIOSSettingInterface

$BIOS.SetBIOSSetting(\'Setup Passwor         


        
相关标签:
3条回答
  • 2021-01-25 17:16

    Enclose your PowerShell code in,

    powershell -Command "& {}"
    

    Remember to separate all statements with ; and to enclose your " with a quoted string, i.e by using ""

    powershell -Command "& {$BIOS= Get-WmiObject -computername ""BAHRIATSG2-PC\"" -Namespace root/hp/instrumentedBIOS -Class HP_BIOSSettingInterface; $BIOS.SetBIOSSetting('Setup Password','<utf-16/>TheBIOSPassword','<utf-16/>')}"
    
    0 讨论(0)
  • 2021-01-25 17:18

    I think this is the simplest and clearest way because it don't requires any superfluous switch; just plain PowerShell code:

    @ECHO off
    
    PowerShell ^
       $BIOS= Get-WmiObject -computername \"BAHRIATSG2-PC\" -Namespace;  ^ 
       root/hp/instrumentedBIOS -Class HP_BIOSSettingInterface;  ^
       $BIOS.SetBIOSSetting('Setup Password','<utf-16/>TheBIOSPassword','<utf-16/>')
    
    pause
    

    Just add a ; ^ at end of each line and escape each quote with backslash.

    0 讨论(0)
  • 2021-01-25 17:33

    powershell has its own script file type, extension is .ps1

    Save your code to a .ps1 file, and run it from a batch file with:

    powershell xxx.ps1

    0 讨论(0)
提交回复
热议问题