首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查DSQuery在PowerShell中是否成功?

检查DSQuery在PowerShell中是否成功?
EN

Stack Overflow用户
提问于 2017-08-22 00:38:37
回答 1查看 587关注 0票数 0

我正在尝试将批处理脚本转换为PowerShell。我遇到了这段代码,有人能告诉我如何将它转换成PowerShell吗?

代码语言:javascript
复制
dsquery ou -domain "$SysDomain" -name "$FuncOU,$DestOU" || (echo OU was not found & Goto :eof)

我想做这样的事情:

代码语言:javascript
复制
$dsq = dsquery ou -domain "$SysDomain" -name "$FuncOU,$DestOU"
if ($dsq.HasSucceeded -eq $true) {
    echo "OU was not found"
    exit
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-22 08:23:34

dsquery不返回退出代码,因此我怀疑您的批处理命令是否有效。此外,该命令生成字符串输出,而不是进程或作业对象,因此没有需要检查的HasSucceeded属性。

您可以做的是检查在变量$dsq中收集的命令的输出。如果变量为空,则命令没有找到OU。PowerShell $false,所以像这样的东西应该能工作:

代码语言:javascript
复制
$dsq = & dsquery ou ...
if (-not $dsq) {
    echo 'OU was not found.'
    exit 1
}

侧记:我建议使用call运算符(&)运行外部命令,并在使用exit语句时返回实际的退出代码。

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

https://stackoverflow.com/questions/45807315

复制
相关文章

相似问题

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