更新时间:2024-09-14 GMT+08:00
分享

准备工作

配置PowerShell执行策略

检查执行策略,确保PowerShell允许运行脚本。打开PowerShell,输入以下命令检查当前执行策略:

Get-ExecutionPolicy

以下是不同的返回结果说明:

  • Restricted:不允许执行任何脚本。
  • AllSigned:只能运行由可信发布者签名的脚本。
  • RemoteSigned:允许运行本地创建的脚本,但远程下载的脚本必须经过签名。
  • Unrestricted:允许运行所有脚本,但会在运行从互联网下载的脚本时发出警告。
  • Bypass:不阻止任何脚本的执行,不会显示任何警告或提示。

如果执行策略为RestrictedAllSigned,请通过以下命令临时更改策略,以允许运行本地创建的脚本和已签名的远程脚本。

Set-ExecutionPolicy RemoteSigned -Scope Process

该命令仅在当前PowerShell会话中更改执行策略,并在会话结束后恢复为默认策略。

CSV文件准备

创建一个包含源端主机信息的CSV文件,确保文件能被访问,并且格式符合要求。格式如下:
username,ip,port,password
  • username:该字段表示登录源端主机时所使用的用户名。为了确保脚本具有足够的权限执行修改操作,通常应使用具有管理员权限的用户名,如Administrator。
  • ip:该字段表示源端主机的内网IP地址。
  • port:该字段表示WinRM服务监听的端口号(默认是5985)。
  • password:该字段表示登录源端主机时所需的密码。脚本将使用此密码通过WinRM协议自动登录到源端主机。
  • CSV文件的第一行是标题行。
  • CSV文件的每一行对应一台主机信息,并且每一列信息之间用英文逗号分隔。
  • 确保格式正确和信息准确,不要出现多余的空格、逗号或无效的IP地址等。
示例:
username,ip,port,password
Administrator,192.168.1.10,xx,examplePass123
Administrator,192.168.1.11,xx,examplePass456

Hosts文件准备

创建一个文本文件,包含需要追加到源端主机hosts文件中的内容,并确保该文件能被访问。文件内写入相关云服务的接口域名映射,并以#Migration-proxy-start开始,以#Migration-proxy-end结束。相关云服务的接口域名映射需要根据具体的环境而定,请联系对应局点的环境接口人获取。

示例:
#Migration-proxy-start
xxx.xxx.xxx.xxx  iam.xxx.com
xxx.xxx.xxx.xxx  ecs.xxx.com
xxx.xxx.xxx.xxx  evs.xxx.com
xxx.xxx.xxx.xxx  ims.xxx.com
xxx.xxx.xxx.xxx  obs.xxx.com
xxx.xxx.xxx.xxx  eps.xxx.com
xxx.xxx.xxx.xxx  vpc.xxx.com
#Migration-proxy-end

日志目录准备

  • 配置日志目录:脚本默认使用 C:\Users\Public\Hosts_Script_Logs 作为日志存储目录。目录不存在的话,脚本会自动创建,如果需要更改日志存储路径,请修改脚本中的 $logDir 变量的值。
  • 检查日志目录权限:确保当前用户对日志目录有写入权限。如果权限不足,需要调整目录权限或选择其他路径。

检查网络连通性

  • 网络连接检查:确认执行脚本的本地计算机能够通过网络访问所有源端Windows主机的IP地址和端口。源端Windows主机需要对执行脚本的主机开放 5985端口。
  • 防火墙配置:检查并配置本地计算机和源端主机的防火墙,确保允许通过WinRM(Windows远程管理)连接进行远程PowerShell会话。
  • 启用WinRM服务:确保所有源端Windows主机上的WinRM服务已启用并正常运行。可以在源端主机上使用以下命令启用WinRM:
    Enable-PSRemoting -Force

相关文档