如何在 .bat 中 运行 多个 powershell 命令
how to run multiple powershell command inside .bat
我制作了一个用于将计算机加入域的批处理文件。
Powershell -command " Add-Computer -DomainName blabla.com -Credential blabla\bla "
有效,但我还想添加 -Description 和输入。
Powershell -command "
$date = Get-Date
$cred= read-host -prompt 'IT username'
Add-Computer -DomainName blabla.com -Description "joined domain by $cred date $date" -Credential blabla$cred "
没用。
Powershell -command " $date = Get-Date "
Powershell -command " $cred= read-host -prompt 'IT username' "
Powershell -command " Add-Computer -DomainName blabla.com -Description "joined domain by $cred date $date" -Credential blabla$cred "
也没用。
拜托,我需要帮助
这需要在 powershell.exe
的单次调用中完成。使用分号终止每个 PowerShell 语句,并使用 cmd
行继续符,CARET ^
.
powershell -command ^
$date = Get-Date; ^
$cred= read-host -prompt 'IT username'; ^
Add-Computer -DomainName blabla.com -Description "joined domain by $cred date $date" -Credential blabla$cred;
这需要一次调用的原因是 PowerShell 的单独调用不知道彼此做了什么。
这没有经过测试。可能存在一些 cmd
语法问题,通常与引用有关。让 .bat 文件脚本调用 PowerShell 脚本会更容易。
powershell -NoLogo -NoProfile -File "%~dpDo-JoinDomain.ps1"
请注意,Do
不是已批准的 PowerShell 动词。使用命令Get-Verb
寻找您认为合适的。
@echo off
Powershell -command " $date = Get-Date; $cred= read-host -prompt 'IT username'; add-Computer -DomainName tpicomp.com -Description "joined domain by $cred date $date" -Credential tpicomp$cred "
感谢@lit 和@Compo 这是最终结果。
我制作了一个用于将计算机加入域的批处理文件。
Powershell -command " Add-Computer -DomainName blabla.com -Credential blabla\bla "
有效,但我还想添加 -Description 和输入。
Powershell -command "
$date = Get-Date
$cred= read-host -prompt 'IT username'
Add-Computer -DomainName blabla.com -Description "joined domain by $cred date $date" -Credential blabla$cred "
没用。
Powershell -command " $date = Get-Date "
Powershell -command " $cred= read-host -prompt 'IT username' "
Powershell -command " Add-Computer -DomainName blabla.com -Description "joined domain by $cred date $date" -Credential blabla$cred "
也没用。
拜托,我需要帮助
这需要在 powershell.exe
的单次调用中完成。使用分号终止每个 PowerShell 语句,并使用 cmd
行继续符,CARET ^
.
powershell -command ^
$date = Get-Date; ^
$cred= read-host -prompt 'IT username'; ^
Add-Computer -DomainName blabla.com -Description "joined domain by $cred date $date" -Credential blabla$cred;
这需要一次调用的原因是 PowerShell 的单独调用不知道彼此做了什么。
这没有经过测试。可能存在一些 cmd
语法问题,通常与引用有关。让 .bat 文件脚本调用 PowerShell 脚本会更容易。
powershell -NoLogo -NoProfile -File "%~dpDo-JoinDomain.ps1"
请注意,Do
不是已批准的 PowerShell 动词。使用命令Get-Verb
寻找您认为合适的。
@echo off
Powershell -command " $date = Get-Date; $cred= read-host -prompt 'IT username'; add-Computer -DomainName tpicomp.com -Description "joined domain by $cred date $date" -Credential tpicomp$cred "
感谢@lit 和@Compo 这是最终结果。