首页 > 解决方案 > 当我尝试在 Azure 上部署 SLES 12 服务器时,无法在自定义脚本中执行“网络广告加入”

问题描述

在 Azure 部署之后,我使用自定义脚本来配置我的 SLES 12 SP3 服务器。我使用 waagent 来执行这个脚本。

我的脚本的第一步是将我的新服务器注册到我的本地 SUSE MANAGER 服务器。一切正常,我的频道已启动,我可以下载和安装软件包。

第二步是将我的新服务器集成到我们的本地 Active Directory 中。为此,我使用 net 命令:“net ads join”。

此命令的输出为:“无法加入域:没有足够的存储空间来处理此命令。”

如果我在部署后手动使用相同的命令,它就可以工作。

我在“net ads join”命令之前和之后做了一个“df -h”,但有一个可用空间。

我不知道为什么它不适用于我的自定义脚本。当我对 net 命令使用 --debuglevel=10 时,我可以看到: WERR_NOT_ENOUGH_MEMORY

我尝试在自定义结束时执行另一个脚本来进行 AD 集成,但它不起作用,我得到了同样的错误。如果我在部署后执行此脚本,一切顺利。

我的 json 文件的内容:

"commandToExecute": "[concat('sh allvmsizes.sh \"', parameters('customUri'), '\" \"' , parameters('HanaVersion'), '\" \"' , parameters('vmUserName' ), '\" \"', 参数('vmPassword'),'\" \"', 参数('HANASID'), '\" \"', 参数('HANANUMBER'), '\" \"' , 参数('vmSize'), '\" \"', 参数('domainUserName'), '\" \"', 参数('domainPassword'), '\"')]"

我的外壳脚本:

我将密码和用户名存储在以下变量中:

ADUSR=${8}

ADPWD=${9}

首先,我做了一个 kinit : echo -n "$ADPWD" | 启动 $ADUSR

我用我的票加入域:

网络广告加入 osname="$osname" osVersion="$osVersion" osServicePack="$osServicePack" --no-dns-updates -k createcomputer=$organizationalUnit

谢谢

标签: azuredeploymentscriptingactive-directorysuse

解决方案


我今天发现自己处于同样的情况,发生的事情是:waagent 正在打开一个没有环境变量 LOGNAME 的 bash。通过运行

export LOGNAME=root

在您的工件中,它应该是固定的。

顺便说一句,这是在https://bugzilla.redhat.com/show_bug.cgi?id=957087中报告的,对于 Fedora 22,已被 EOL 关闭,但目前也发生在 CentOS 7.x 中。


推荐阅读