在IIS(Internet Information Services) 中使用windows CMD命令的方法 winrm

  • 安装pywinrm模块:

    pip install pywinrm
    
  • 配置winrm服务的相关配置,使其支持远程控制:

    (winrm服务是windows 一种方便远程管理的服务;开启winrm service,便于在日常工作中,远程管理服务器,或通过脚本,同时管理多台服务器,来提高工作效率;)

    配置如下:

    winrm service 的基础配置,执行之后提示选择的时候选中y:
    winrm quickconfig
    
    查看winrm service listener(分为http和https):
    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"}
    
    查看winrm服务的配置:
    winrm get winrm/config
    
  • 连接、执行CMD命令:

    import winrm
    
    
    def winrm_cmd(url, cmd, admin, pwd):
        wintest = winrm.Session(url, auth=(admin, pwd))
        ret = wintest.run_cmd(cmd)
    
        print('- Success:', str(ret.std_out, encoding='gbk'))
        print('- Error:', str(ret.std_err, encoding='gbk'))
        print('- Status code', ret.status_code)
        
        
    winrm_cmd(
    	'http://[IIS 本机IP地址]:5985/wsman',
        'ipconfig',  # cmd命令,多行执行使用&符连接
        'administrator',  # Windows账号
        '123456'  # Windows密码
    )
    
    
posted @ 2019-04-23 11:32  q1ang  阅读(528)  评论(0编辑  收藏  举报