azure - 当我尝试在 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
谢谢
解决方案
我今天发现自己处于同样的情况,发生的事情是:waagent 正在打开一个没有环境变量 LOGNAME 的 bash。通过运行
export LOGNAME=root
在您的工件中,它应该是固定的。
顺便说一句,这是在https://bugzilla.redhat.com/show_bug.cgi?id=957087中报告的,对于 Fedora 22,已被 EOL 关闭,但目前也发生在 CentOS 7.x 中。
推荐阅读
- spring-boot - 对象映射器和杰克逊测试器
- python - Split Dataframe into Groups, then calculate Cumprod by Group
- javascript - 无法使用角度选择对 ngonit 的所有检查
- plsql - iCalendar - 更新会议正文,但看起来日期/时间没有更改
- c# - Is there memory Leak in Serializer
- java - 定理基础的算术
- android - 如何将字符串颜色更改为颜色资源?
- search - 使用 store=True 计算布尔字段不在 Odoo11 中搜索
- amazon-web-services - 如何在 AWS EC2 上的 Tensorflow 中设置 MirroredStrategy 以进行对象检测再训练?
- shopify - Shopify 获取产品的最新单条评论