多行 Powershell .CMD 文件
Multi-Line Powershell .CMD file
我正在尝试创建一个 CMD 文件,该文件在启动时使用标准 PowerShell 命令加载 PowerShell。问题是它在 CMD 中启动 PowerShell 后不会执行任何进一步的代码,它基本上会停止。
需要做什么才能在加载后执行其余代码PS?
抱歉,我是编码和这个网站的新手!
powershell
$domain = "domain"
$password = "password" | ConvertTo-SecureString -asPlainText -Force
$username = "$domain\username"
$credential = New-Object System.Management.Automation.PSCredential($username,$password)
Add-Computer -DomainName $domain -Credential $credential
Restart-Computer -Force
您 bat/cmd 文件中的命令不会为您输入到 powershell 控制台中。 CMD
将启动 powershell
然后在 运行 执行下一个命令之前等待它退出,或者如您所描述的 'halts'.
使用您的脚本 运行ning powershell
运行s powershell 控制台(带有等待 user 输入的交互式提示) .它不会执行任何操作,因为您没有为它指定命令或文件 运行.
要使其成为 运行 您的命令,请将命令保存为 .ps1
文件,然后将 powershell 获取到 运行 该文件:
powershell -File C:\folder\script.ps1
编辑:
然而,您正在尝试重新发明轮子 unattended domain join is already part of the unattended answer file (see Windows System Image Manager),并且自 Windows 7.
以来一直可用
按照 James C. 的建议将 PowerShell 脚本放入 .ps1 文件可能是最简单的方法。或者,它可以放入单个命令中。当然,这将符合最大命令行长度限制。
powershell -NoProfile -Command ^
"$domain = 'domain';" ^
"$password = 'password' | ConvertTo-SecureString -asPlainText -Force;" ^
"$username = "$domain\username^";" ^
"$credential = New-Object;" ^
"System.Management.Automation.PSCredential($username,$password);" ^
"Add-Computer -DomainName $domain -Credential $credential;" ^
"Restart-Computer -Force"
我正在尝试创建一个 CMD 文件,该文件在启动时使用标准 PowerShell 命令加载 PowerShell。问题是它在 CMD 中启动 PowerShell 后不会执行任何进一步的代码,它基本上会停止。
需要做什么才能在加载后执行其余代码PS?
抱歉,我是编码和这个网站的新手!
powershell
$domain = "domain"
$password = "password" | ConvertTo-SecureString -asPlainText -Force
$username = "$domain\username"
$credential = New-Object System.Management.Automation.PSCredential($username,$password)
Add-Computer -DomainName $domain -Credential $credential
Restart-Computer -Force
您 bat/cmd 文件中的命令不会为您输入到 powershell 控制台中。 CMD
将启动 powershell
然后在 运行 执行下一个命令之前等待它退出,或者如您所描述的 'halts'.
使用您的脚本 运行ning powershell
运行s powershell 控制台(带有等待 user 输入的交互式提示) .它不会执行任何操作,因为您没有为它指定命令或文件 运行.
要使其成为 运行 您的命令,请将命令保存为 .ps1
文件,然后将 powershell 获取到 运行 该文件:
powershell -File C:\folder\script.ps1
编辑:
然而,您正在尝试重新发明轮子 unattended domain join is already part of the unattended answer file (see Windows System Image Manager),并且自 Windows 7.
以来一直可用按照 James C. 的建议将 PowerShell 脚本放入 .ps1 文件可能是最简单的方法。或者,它可以放入单个命令中。当然,这将符合最大命令行长度限制。
powershell -NoProfile -Command ^
"$domain = 'domain';" ^
"$password = 'password' | ConvertTo-SecureString -asPlainText -Force;" ^
"$username = "$domain\username^";" ^
"$credential = New-Object;" ^
"System.Management.Automation.PSCredential($username,$password);" ^
"Add-Computer -DomainName $domain -Credential $credential;" ^
"Restart-Computer -Force"