#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
}
}