python 操作windows DNS

在windows平台上启用winrm服务
winrm service 默认都是未启用的状态,先查看状态;如无返回信息,则是没有启动;

winrm enumerate winrm/config/listener

针对winrm service 进行基础配置:

winrm quickconfig

查看winrm service listener:

winrm e winrm/config/listener

为winrm service 配置auth:

winrm set winrm/config/service/auth @{Basic="true"}

为winrm service 配置加密方式为允许非加密:

winrm set winrm/config/service @{AllowUnencrypted="true"}

一些比较常用的命令

执行以下命令能够以每组多达50个实例的速度获取实例。

winrm set winrm/config @{MaxBatchItems="50"}

此外,通过增大分配的最大封包大小和超时设置,也可以提高性能。

winrm set winrm/config @{MaxEnvelopeSizekb="150"}
winrm set winrm/config @{MaxTimeoutms ="60000"}

下面列出了其他可选的WinRM配置命令,以便您参考。要获取当前的WinRM配置设置,请执行以下命令:

winrm g winrm/config

默认情况下,客户端计算机要求对网络流量加密。要允许客户端计算机请求未加密流量,请执行以下命令:

winrm s winrm/config/Client @{AllowUnencrypted="true"}

TrustedHosts 是一个数组,用于指定可信的远程计算机的列表。同一工作组中的其他计算机或不同域中的计算机均应添加到此列表中。

注意:TrustedHosts 列表中的计算机未经过身份验证。
执行以下命令可将所有计算机都纳入TrustedHosts。

winrm s winrm/config/Client @{TrustedHosts="*"}

基本身份验证是以明文形式将用户名和密码发送给服务器或代理的方案。这是最不安全的身份验证方法。默认值为True。
执行以下命令可将客户端计算机设置为使用基本身份验证:

winrm s winrm/config/Client/Auth @{Basic="true"}
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import winrm
import sys
import argparse

#define the target host
#host=raw_input("input the hostname :")
#username=raw_input("username :")
#passwd=raw_input("passwd :")

# start the connection session
#s = winrm.Session('http://' + host + ':5985/wsman' ,auth=(username,passwd))
s=winrm.Session('http://IP:5985/wsman',auth=('user','password'))
def _runCommand(comm):
r = s.run_cmd(comm)
print (r.std_out)
sys.exit()

while 1:
comm = 'dnscmd . /zoneprint abc.com.cn | findstr /i "3600 A"' #查询
# dnscmd . /RecordAdd abc.com.cn xxxx A 10.164.64.200 #添加xxx.abc.com.cn和对应IP
    _runCommand(comm)

猜你喜欢

转载自www.cnblogs.com/linhankbl/p/9149421.html