首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在read-host执行之前会出现Powershell脚本凭据提示。

在read-host执行之前会出现Powershell脚本凭据提示。
EN

Server Fault用户
提问于 2022-06-16 23:26:13
回答 1查看 202关注 0票数 1

我在另一个脚本中调用一个脚本:

代码语言:javascript
复制
...
...
powershell C:/temp/script2.ps1"
...
...

它在下载了一些东西之后将VM加入到一个域。但是,当脚本运行时,“”的提示符在read-host之前运行,或者完全跳过:

代码语言:javascript
复制
param (
    [String]$OU,
    [PSCredential]$Credential
    )

$ErrorActionPreference="SilentlyContinue"
Stop-Transcript | out-null
$ErrorActionPreference = "Continue"
Start-Transcript -path C:\script2.txt -append

if ([Environment]::UserInteractive) {
    if (!$OU) { $OU = Read-Host "Enter Tenant Resource Pool Name (exactly as appears in vCenter inventory)" }
    if (!$Credential) { $Credential = Get-Credential -Message "Enter dev domain credentials" }
}

# Add Computer to Dev domain

try {
        Add-Computer -DomainName dev.domain.com -OUPath "OU=$OU,dc=dev,dc=domain,dc=com" -ErrorAction stop -Credential $Credential
        }
catch {
        Write-Warning "Failed to join to domain."
        Read-Host -Prompt "Press Enter to exit"
    Throw $_
        }

这显然失败了,因为域连接需要-OUPath,它没有提示。

如果我通过右击运行script2.ps1,它就能工作。当我像这样从其他脚本中运行它时,它会失败:

代码语言:javascript
复制
wget -O C:/temp/script1.ps1 https://script-source.com:8443/script1.ps1 | powershell C:\temp\script1.ps1
EN

回答 1

Server Fault用户

回答已采纳

发布于 2022-06-17 03:01:09

这似乎可以通过在脚本名前面添加一个符号来解决,而不是像我所做的那样用powershell调用它:

代码语言:javascript
复制
powershell_stuff
..
..
& C:/temp/script2.ps1
..
..
morePowershell_stuff

这篇文章的想法:运行另一个Powershell脚本并等待结束的powershell脚本

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1103487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档