Слияние кода завершено, страница обновится автоматически
#建议保存编码为:bom头 + utf8
$script:nodelist文件最后写入时间2 = (Get-ChildItem -LiteralPath "${global:kasini3000_data_path}\nodelist.csv").LastWriteTimeUtc
if ($script:nodelist文件最后写入时间2 -gt $global:nodelist文件最后写入时间 )
{
$global:zd只读nodelist文件 = $false
}
# 双变量 决定是否导入nodelist。
if ($global:zd只读nodelist文件 -eq $true)
{
exit
}
$global:zd只读nodelist文件 = $true
$global:nodelist文件最后写入时间 = $script:nodelist文件最后写入时间2
if ($global:启用excel版nodelist -eq $true)
{
if (Test-Path -LiteralPath "${PSScriptRoot}/zd只读nodelist文件excel.ps1")
{
$global:zd只读nodelist文件 = $false
& "${PSScriptRoot}/zd只读nodelist文件excel.ps1"
exit
}
}
if ($global:启用_win密码加密版_nodelist -eq $true)
{
if (Test-Path -LiteralPath "${PSScriptRoot}/zd只读win密码加密版_nodelist.ps1")
{
$global:zd只读nodelist文件 = $false
& "${PSScriptRoot}/zd只读win密码加密版_nodelist.ps1"
exit
}
}
if ( ($IsWindows -eq $True) -or ($PSVersionTable.psversion.major -lt 6) ) #win
{
& 'c:\ProgramData\kasini3000\0k_source.ps1'
if (Test-Path -LiteralPath $global:被控机列表文件)
{
}
else
{
Write-Error "错误,找不到被控机列表文件 $global:被控机列表文件 。`n请按照示例文件 ‘c:\ProgramData\kasini3000\docs\examples\nodelist.csv’ `n请按照示例文件 ‘c:\ProgramData\kasini3000\docs\examples\nodelist.xlsx’ `n生成被控机列表文件‘~\Documents\kasini3000\nodelist.csv’"
if ($global:kasini3000_data_path)
{
}
else
{
$global:kasini3000_data_path = "${env:USERPROFILE}\Documents\kasini3000"
}
if (Test-Path -LiteralPath $global:kasini3000_data_path)
{
}
else
{
mkdir $global:kasini3000_data_path
}
Copy-Item -LiteralPath 'c:\ProgramData\kasini3000\docs\examples\nodelist.csv' -Destination "${global:kasini3000_data_path}"
Start-Sleep -Seconds 1
& C:\windows\system32\notepad.exe "${global:kasini3000_data_path}\nodelist.csv"
$global:zd只读nodelist文件 = $false
exit 1
}
}
if ($IsLinux -eq $True)
{
& '/etc/kasini3000/0k_source.ps1'
if (Test-Path -LiteralPath $global:被控机列表文件)
{
}
else
{
Write-Error "错误,找不到被控机列表文件 $global:被控机列表文件 。`n请按照示例文件 ‘/etc/kasini3000/docs/examples/nodelist.csv’ `n请按照示例文件 ‘/etc/kasini3000/docs/examples/nodelist.xlsx’ `n生成被控机列表文件‘/root/kasini3000/nodelist.csv’"
if ($global:kasini3000_data_path)
{
}
else
{
$global:kasini3000_data_path = "/root/kasini3000"
}
if (Test-Path -LiteralPath $global:kasini3000_data_path)
{
}
else
{
mkdir $global:kasini3000_data_path
}
Copy-Item -LiteralPath '/etc/kasini3000/docs/examples/nodelist.csv' -Destination "${global:kasini3000_data_path}"
Write-Host -ForegroundColor Green ' vi /root/kasini3000/nodelist.csv'
$global:zd只读nodelist文件 = $false
exit 1
}
}
function 有bom头吗 ($输入文件全路径2)
{
if ( ($IsLinux -eq $True) -or ($PSVersionTable.psversion.major -ge 6) )
{
$头 = Get-Content -LiteralPath $输入文件全路径2 -AsByteStream -TotalCount 4
}
else
{
$头 = Get-Content -LiteralPath $输入文件全路径2 -Encoding Byte -TotalCount 4
}
[string]$utf8_BOM = "{0:X}{1:X}{2:X}" -f $头
[string]$utf16_BOM = "{0:X}{1:X}" -f $头
[string]$utf32_BOM = "{0:X}{1:X}{2:X}{3:X}" -f $头
if ($utf8_BOM -eq "EFBBBF")
{
$script:输入文件编码2 = 65001
$script:输出文件编码2 = 65001
Write-Verbose "nodelist文件编码为:UTF-8"
return $true
}
if ($utf16_BOM -eq "FFFE")
{
$script:输入文件编码2 = 1200
$script:输出文件编码2 = 1200
Write-Verbose "nodelist文件编码为:Unicode"
return $true
}
if ($utf16_BOM -eq "FEFF")
{
$script:输入文件编码2 = 1201
$script:输出文件编码2 = 1201
Write-Verbose "nodelist文件编码为:Big Endian Unicode"
return $true
}
if ($utf32_BOM -eq "0000FEFF")
{
$script:输入文件编码2 = 12001
$script:输出文件编码2 = 12001
Write-Verbose "nodelist文件编码为:UTF-32, big-endian"
return $true
}
if ($utf32_BOM -eq "FFFE0000")
{
$script:输入文件编码2 = 12000
$script:输出文件编码2 = 12000
Write-Verbose "nodelist文件编码为:UTF-32, little-endian"
return $true
}
return $False
}
if ( 有bom头吗 -输入文件全路径2 $global:被控机列表文件 )
{
}
else
{
if ($env:LANG -eq 'zh_CN.UTF-8')
{
Write-Error "错误: nodelist.csv 必须有bom头,文件编码格式不限,回车格式不限。返回码2"
}
else
{
Write-Error "Error: nodelist.csv must have a BOM header, unlimited file encoding format, and unlimited carriage return format. Return code 2"
}
$global:zd只读nodelist文件 = $false
exit 2
}
$global:所有被控机 = Import-Csv -LiteralPath $global:被控机列表文件 -ErrorAction Stop
exit 0
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )