Autor Diego Elcain

Como posso compartilhar uma imagem em um link do Google Drive?

Como posso compartilhar uma imagem em um link do Google Drive?

Outras formas de pesquisa para essa dica seria:

  • Como incorporar imagens do Google Drive em seu site?
  • Como obter URLs de imagens do Google Drive
  • Como posso compartilhar uma imagem em um link do Google Drive?
  • Como acessar um link de imagem compartilhado no google drive?
  • Como faço para copiar o URL da imagem do google drive?
  • Como exibir uma imagem de um link de URL compartilhado google drive?

Acesse o Google Drive e Compartilhe a Imagem Publicamente

Você receberá um link parecido como esse

https://drive.google.com/file/d/1OAIJMGndsdfasdfashTsNO0QUSSUHD/view?usp=sharing

Reserver o UUDI da Mensagem : 1OAIJMGndsdfasdfashTsNO0QUSSUHD

Com o link abaixo preencha o UUID corretamente

https://lh3.googleusercontent.com/d/COLE_AQUI_UUID_DA_IMAGEM

Seu link de compartilhamento deverá fica dessa maneira.

https://lh3.googleusercontent.com/d/1OAIJMGndsdfasdfashTsNO0QUSSUHD

Para incorporar a imagem em um código HTML use a tag IMG

<img src="https://lh3.googleusercontent.com/d/1OAIJMGndsdfasdfashTsNO0QUSSUHD"/>

 

Script Backup Power Shell e 7z

Segue um script funcional e eficiente para backup local usando o power shell e 7z

 

# Caminho do executável 7-Zip
$SevenZip = "C:\Program Files\7-Zip\7z.exe"

# Diretórios de origem (adicione quantos quiser)
$SourceDirs = @(
"C:\sistema",
"D:\DFS\storage"
)

# Diretório de destino do backup
$BackupDir = "D:\Backup_Local"

# Número de backups a manter
$KeepBackups = 4

# Nome do arquivo de backup com data
$Date = Get-Date -Format "yyyy-MM-dd"
$BackupFile = Join-Path $BackupDir "Backup_$Date.7z"

# -------------------------------------------------
# Verifica e encerra qualquer processo 7z.exe ativo
# -------------------------------------------------
$SevenZipProcesses = Get-Process -Name "7z" -ErrorAction SilentlyContinue
if ($SevenZipProcesses) {
Write-Host "Finalizando processos 7z.exe em execução..."
$SevenZipProcesses | ForEach-Object { Stop-Process -Id $_.Id -Force }
}

# Cria o diretório de destino se não existir
if (!(Test-Path $BackupDir)) {
New-Item -ItemType Directory -Path $BackupDir | Out-Null
}

# Cria o backup (agora passando os diretórios como array)
& "$SevenZip" a -t7z -mx9 "$BackupFile" @SourceDirs

# Limpeza: mantém apenas os últimos $KeepBackups arquivos
$Backups = Get-ChildItem -Path $BackupDir -Filter "Backup_*.7z" | Sort-Object LastWriteTime -Descending

if ($Backups.Count -gt $KeepBackups) {
$OldBackups = $Backups | Select-Object -Skip $KeepBackups
foreach ($Old in $OldBackups) {
Remove-Item $Old.FullName -Force
}
}

 

Pacote de Drivers e Scanner da Samsung scx 4623f

Pacote de Drivers e Scanner da Samsung scx 4623f

  1. Samsung Easy Documentor Creator
  2. Smart Panel
  3. Smat Thru 4

 

https://fs.cuidadodigital.net.br/share/Zoj1Y7QO

 

Bypass NRO Windows 11

Versão do windows 11 superior a 24h2 não possui mais a função OOBE\BYPASSNRO, para fazer o bypass nas versões mais novas do windows proceda com as seguintes opções.

Metodo 1

Assim que iniciar a finalização da instalação do Windows aperte as Teclas Shift + F10

No prompt de comando digite:

start ms-cxh:localonly

Metodo 2

Assim que iniciar a finalização da instalação do Windows aperte as Teclas Shift + F10

No prompt de comando digite:

regedit

Navegue a até:

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE

Crie um novo valor DWORD chamado BypassNRO clicando com o botão direito do mouse na área vazia e escolhendo Novo > Valor DWORD (32 bits).

Clique duas vezes nele para definir os dados do valor como 1.

 

 

 

Como renomear um domínio do Active Directory

Como renomear um domínio do Active Directory

Embora não seja recomendado, pode ser necessário ter que renomear, para isso segue o passo a passo.

Nesse tutorial iremos renomear de olddomain.tld para newdomain.local

Obs. Fazer backup antes de inciar o processo.

1 – Preparar Zonas DNS

<?xml version ="1.0"?>
<Forest>
    <Domain>
        <!-- PartitionType:Application -->
        <Guid>a582d5a0-7014-401e-b313-975775b2ed64</Guid>
        <DNSname>DomainDnsZones.newdomain.local</DNSname>
        <NetBiosName></NetBiosName>
        <DcName></DcName>
    </Domain>
    <Domain>
        <!-- PartitionType:Application -->
        <Guid>5ce98fd4-7dd9-4d39-9d33-0e3927f64f35</Guid>
        <DNSname>ForestDnsZones.newdomain.local</DNSname>
        <NetBiosName></NetBiosName>
        <DcName></DcName>
    </Domain>
    <Domain>
        <!-- ForestRoot -->
        <Guid>29901115-1cd4-440e-b6fe-f16d25b6bb50</Guid>
        <DNSname>newdomain.local</DNSname>
        <NetBiosName>NEWDOMAIN</NetBiosName>
        <DcName></DcName>
    </Domain>
</Forest>

4 – Para confirmar se os dados estão preenchidos corretamente verifique com rendom /showforest

rendom /showforest

5 – Se estiver tudo certo, faça o upload do arquivo

rendom /upload

6 – Verificando os domains controllers

rendom /prepare

7 – Senão apresentar nenhum erro nas etapas anteriores então execute, o servidor será reiniciado ao final do processo. AGUARDE.

  • Caso o computador não reinicie, execute novamente.
rendom /execute

8 – Corrija NetBios Name nas entradas GPO

gpfixup /olddns:olddomain.tld /newdns:newdomain.tld
gpfixup /oldnb:olddomain.tld /newnb:newdomain.tld

9 – Adicione o novo nome no controlador de domínio manualmente e torne-os como primário.

netdom computername %COMPUTERNAME%.olddomain.local /add:%COMPUTERNAME%.newdomain.local
netdom computername %COMPUTERNAME%.olddomain.local /makeprimary:%COMPUTERNAME%.newdomain.local

10 –  Reinicie o computador

Shutdown /f /r /t 0

11 – Remove os links para o controlador antigo

rendom /clean

12 – Desbloqueie o servidor

rendom /end

Senão apresentar nenhum erro, o processo de renomear seu controlador de domínio ocorreu com sucesso.

Reinicie as estações de trabalho duas ou tres vezes se for necessário para que elas peguem as novas configurações de domínio.

Senão der certo, pode ser necessário reconfigurar as estações de trabalho.

 

[Resolvido] Certificado Inválido e2guardian linux

Essa dica auxilia todos que estão tendo problemas com certificaodo inválido no e2guardian no linux.

Gere um EPOCH date com o seguinte comando

date +%s

Com o resultado atualize a linha generatedcertstart

Abra o arquivo e2guardian.conf  e localize a linha

generatedcertstart

Ajueste para

generatedcertstart = 1733871979

 

Como reinstalar Microsoft Store, Windows Store

Encontrei nesse site https://www.minitool.com/news/how-to-reinstall-microsoft-store.html o melhor tutorial para reinstalar o Microsoft Store ou Windows Store.

O procedimento que deu certo comigo foi:

  1. 1. Go to https://store.rg-adguard.net/.

    2. Copy and paste the following URL to the URL text box: https://www.microsoft.com/en-us/p/microsoft-store/9wzdncrfjbmp.

    3. Select Retail.

    4. Click the Generate icon.

Faça o Download

  • WindowsStore_12011.1001.113.0_neutral_~_8wekyb3d8bbwe.appxbundle

Se tiver mais de um WindowStore ….. appxbundle faça o download de todos.

Abra o Power Shell como administrador

Tente instalar todos os appxbundle baixados.

Add-AppxPackage -Path "C:\Path\to\File.appxbundle"

 

Criando um executável de um projeto em Python com PyInstaller

Dica rápida para criar um executável em python com PyInstaller

1 – Instalar o PyInstaller

pip install pyinstaller

2 – Assim que tiver finalizado o projeto, gere o executável, nesse caso os paramentros são:

2.1 -F – Empacotar tudo em um único arquivo executável.

2.2 – –noconsole – Aplicação irá rodar em background.

pyinstaller.exe -F --noconsole .\main.py

 

[RESOLVIDO] Squid não acessa Whatsapp Web erro de WWS Websocket

Resolvi o problema de erro de websocket no whtasapp web usando o Swquid com SSL BUMP

acl serverIsws ssl::server_name_regex ^w[0-9]+\.web\.whatsapp\.com$ ^w[0-9]+\.web\.whatsapp\.net$
acl broken_sites ssl::server_name .whatsapp.com
acl step1 at_step SslBump1

ssl_bump peek step1
ssl_bump splice serverIsws
ssl_bump splice broken_sites
ssl_bump bump all

 

Typebot Saudação por Períodos do dia.

Segue um template para saudação baseado em períodos do dia.

Salvar arquivo como json e importar no Typebot.

  • Amanhã
  • Tarde
  • Noite
  • Madrugada
{
    "version": "5",
    "id": "clnr7unnr0001qi1p151cyf0k",
    "name": "Saudação",
    "groups": [
        {
            "id": "gil4ln85tcyfr5n5p3utqbvd",
            "title": "Start",
            "graphCoordinates": {
                "x": -22,
                "y": 208
            },
            "blocks": [
                {
                    "id": "f1hwzp3exgim7i8j04re4s4l",
                    "groupId": "gil4ln85tcyfr5n5p3utqbvd",
                    "outgoingEdgeId": "i2zi8k5z6awaiwuuepsfnu4g",
                    "type": "start",
                    "label": "Start"
                }
            ]
        },
        {
            "id": "c1saf3c4himwxy8lnh1v49y1",
            "title": "Script",
            "graphCoordinates": {
                "x": 371,
                "y": 100
            },
            "blocks": [
                {
                    "id": "zvnvff3rmbsh8b3wyb372dzh",
                    "groupId": "c1saf3c4himwxy8lnh1v49y1",
                    "outgoingEdgeId": "ft18i9oqkp6pusm8vsk7r9qs",
                    "type": "Set variable",
                    "options": {
                        "variableId": "vp8od10kng0salkymug9wufam",
                        "expressionToEvaluate": "// Obter a data atual como objeto Date\nlet dataAtual = new Date();\n\n// Configurar o fuso horário\ndataAtual = new Date(dataAtual.toLocaleString('en-US', { timeZone: 'America/Recife' }));\n\n// Obter o horário atual\nlet horaAtual = dataAtual.getHours();\n\n// Determinar a saudação adequada baseada na hora do dia\nlet saudacao;\nif (horaAtual >= 5 && horaAtual < 12) {\n    saudacao = \"Bom dia\";\n} else if (horaAtual >= 12 && horaAtual < 18) {\n    saudacao = \"Boa tarde\";\n} else if (horaAtual >= 18 && horaAtual <= 23) {\n    saudacao = \"Boa noite\";\n} else {\n    saudacao = \"Boa madrugada\";\n}\n\n// Exibir a saudação\nreturn saudacao",
                        "isExecutedOnClient": true
                    }
                }
            ]
        },
        {
            "id": "ycv3zgly0spaovtsckykcom9",
            "title": "Fluxo",
            "graphCoordinates": {
                "x": 762,
                "y": 192
            },
            "blocks": [
                {
                    "id": "fo02bybce2ca3uwwxl9t1i15",
                    "groupId": "ycv3zgly0spaovtsckykcom9",
                    "type": "text",
                    "content": {
                        "richText": [
                            {
                                "type": "p",
                                "children": [
                                    {
                                        "text": "{{saudacao}}"
                                    }
                                ]
                            }
                        ]
                    }
                },
                {
                    "id": "y0l7indhnw5y5wjrvwfmxr7e",
                    "groupId": "ycv3zgly0spaovtsckykcom9",
                    "type": "text",
                    "content": {
                        "richText": [
                            {
                                "type": "p",
                                "children": [
                                    {
                                        "text": "Esculte uma boa música"
                                    }
                                ]
                            }
                        ]
                    }
                },
                {
                    "id": "fa7rjjdp8etlczt75nt92byw",
                    "groupId": "ycv3zgly0spaovtsckykcom9",
                    "type": "text",
                    "content": {
                        "richText": [
                            {
                                "type": "p",
                                "children": [
                                    {
                                        "text": "╔════════════════╗"
                                    }
                                ]
                            },
                            {
                                "type": "p",
                                "children": [
                                    {
                                        "text": "┃ ▁▂▃▅▆▇ 100%           |"
                                    }
                                ]
                            },
                            {
                                "type": "p",
                                "children": [
                                    {
                                        "text": "╚════════════════╝"
                                    }
                                ]
                            },
                            {
                                "type": "p",
                                "children": [
                                    {
                                        "text": "SONG: 𝙱𝚕𝖺𝚌𝚔𝚂𝚝𝗈𝚛𝚖𝚂𝚝𝚍.𝚁𝚎𝚖𝚒𝚡 𝟼𝙼♫"
                                    }
                                ]
                            },
                            {
                                "type": "p",
                                "children": [
                                    {
                                        "text": "CREATOR: 𝙱𝚕𝚊𝚌𝚔𝚂𝚝𝚘𝚛𝚖 𝚂𝚝𝚞𝚍𝚒𝚘𝚜™®"
                                    }
                                ]
                            },
                            {
                                "type": "p",
                                "children": [
                                    {
                                        "text": "0:35 ━❍──────── -5:25"
                                    }
                                ]
                            },
                            {
                                "type": "p",
                                "children": [
                                    {
                                        "text": "↻     ⊲  Ⅱ  ⊳     ↺"
                                    }
                                ]
                            }
                        ]
                    }
                }
            ]
        }
    ],
    "edges": [
        {
            "id": "i2zi8k5z6awaiwuuepsfnu4g",
            "from": {
                "groupId": "gil4ln85tcyfr5n5p3utqbvd",
                "blockId": "f1hwzp3exgim7i8j04re4s4l"
            },
            "to": {
                "groupId": "c1saf3c4himwxy8lnh1v49y1"
            }
        },
        {
            "id": "ft18i9oqkp6pusm8vsk7r9qs",
            "from": {
                "groupId": "c1saf3c4himwxy8lnh1v49y1",
                "blockId": "zvnvff3rmbsh8b3wyb372dzh"
            },
            "to": {
                "groupId": "ycv3zgly0spaovtsckykcom9"
            }
        }
    ],
    "variables": [
        {
            "id": "vz86mn60nk870kdefhbvrov3r",
            "name": "data"
        },
        {
            "id": "vp8od10kng0salkymug9wufam",
            "name": "saudacao"
        }
    ],
    "theme": {
        "general": {
            "font": "Open Sans",
            "background": {
                "type": "Color",
                "content": "#ffffff"
            }
        },
        "chat": {
            "hostAvatar": {
                "isEnabled": true
            },
            "hostBubbles": {
                "backgroundColor": "#F7F8FF",
                "color": "#303235"
            },
            "guestBubbles": {
                "backgroundColor": "#FF8E21",
                "color": "#FFFFFF"
            },
            "buttons": {
                "backgroundColor": "#0042DA",
                "color": "#FFFFFF"
            },
            "inputs": {
                "backgroundColor": "#FFFFFF",
                "color": "#303235",
                "placeholderColor": "#9095A0"
            }
        }
    },
    "selectedThemeTemplateId": null,
    "settings": {
        "general": {
            "isBrandingEnabled": false,
            "isInputPrefillEnabled": true,
            "isHideQueryParamsEnabled": true,
            "rememberUser": {
                "isEnabled": false
            }
        },
        "typingEmulation": {
            "enabled": true,
            "speed": 300,
            "maxDelay": 1.5
        },
        "metadata": {
            "description": "Build beautiful conversational forms and embed them directly in your applications without a line of code. Triple your response rate and collect answers that has more value compared to a traditional form."
        }
    },
    "createdAt": "2023-10-15T08:40:14.151Z",
    "updatedAt": "2023-10-15T22:24:28.641Z",
    "icon": null,
    "folderId": null,
    "publicId": "saudacao",
    "customDomain": null,
    "workspaceId": "clnr64nj00001n21oaw5nat15",
    "resultsTablePreferences": null,
    "isArchived": false,
    "isClosed": false,
    "whatsAppCredentialsId": null
}