powershell批量更新企业微信的头像

#update 2020/11/18

$企业ID = ""
$通讯录Secret = ""
$应用Secret=""
$通讯录access_token = (Invoke-RestMethod "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$企业ID&corpsecret=$通讯录Secret").access_token
$应用access_token = (Invoke-RestMethod "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$企业ID&corpsecret=$应用Secret").access_token
$userid特殊后缀="" #这里想表达的是图片文件名称与企业微信用户user_id的关联,如果一致,填空即可
$照片文件夹路径 = ""

foreach ($单个照片对象 in (Get-ChildItem $照片文件夹路径))
{
$单个照片名称 = $单个照片对象.Name
$单个照片大小 = $单个照片对象.Length
$单个照片路径 = $单个照片对象.VersionInfo.FileName

$my_upload_url = "https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token=$应用access_token&type=image"
$upload_result = Invoke-RestMethod -Uri $my_upload_url -Method Post -InFile $单个照片路径 -UseDefaultCredentials -ContentType "application/octet-stream" -Headers @{name ="media"; filename=$单个照片名称;filelength =$单个照片大小}
if ($upload_result.errcode -eq 0)
    {
    $media_id = $upload_result.media_id
    $userid = ($单个照片名称.split("\."))[0]+$userid特殊后缀    #拼接照片文件名称与特殊后缀
    $my_update_url = "https://qyapi.weixin.qq.com/cgi-bin/user/update?access_token=$通讯录access_token"
    $update_user_body="{
        `"userid`":`"$userid`",
        `"avatar_mediaid`":`"$media_id`"
        }"
    $chinese=[System.Text.Encoding]::UTF8.GetBytes($update_user_body) #这里是解决中文编码问题的即发送中文消息时候使用。 
    $update_result = Invoke-WebRequest -Uri $my_update_url -Method Post -Body $chinese 
    if ($update_result.errcode -eq 0)
        {
        Write-Host $单个照片名称"-更新成功"
        }
    else{
        Write-Host $单个照片名称"-更新失败"
        Write-Host $update_result
        }
    }
else{
    Write-Host $单个照片名称"-上传失败"
    Write-Host $upload_result
    }
}

猜你喜欢

转载自blog.51cto.com/7763608/2551903
今日推荐