LINUX.ORG.RU
ФорумTalks

MS Azure

 


0

2

Любите трудные загадки, пораскинуть мозгами и полить говном MS?

Присоединяйтесь к увлекательному квесту «Complete idiocy»!

Вы начинаете игру с одной виртуальной машиной на Ubuntu 14.04 и постфиксом на борту. Задача: настроить rDNS.

Подсказка: PowerShell.

Самые нетерпеливые могут купить возможность обращения в техподдержку.

Deleted

MS Azure

не нужно и на винфак.

могут купить возможность обращения в техподдержку.

они разведут руками и скажут «не предусмотрено».

invy ★★★★★
()
Последнее исправление: invy (всего исправлений: 1)

Зачем это говно?

int13h ★★★★★
()

полагаю в МС все работает? почта ходит?

Rastafarra ★★★★
()

Подсказка: PowerShell.

То есть красноглазые упражнения в линаксовой консольке ок, а павершелл это complete idiocy? гг

Kaschenko
()

Задача: настроить rDNS.

Подсказка: PowerShell.

ЯННП. Обратной зоной заведует хостер. Ему только через power shell можно послать запрос на изменение? Через админку не как?

true_admin ★★★★★
()
Ответ на: комментарий от invy

не нужно и на винфак.

Увы, заказчику это не скажешь.

Deleted
()
Ответ на: комментарий от true_admin

Ему только через power shell можно послать запрос на изменение? Через админку не как?

Именно. «This feature is currently supported in the Service Management API, and through PowerShell.»

На вопрос про настройку из линукса отвечают:

Hi, this isn't supported right now, but we are working on it. In the meantime, you should use PowerShell from a Windows machine - an Azure VM with Windows would suffice for this. Apologies for the inconvenience!

Пошел седьмой месяц «working on it».

Deleted
()
Ответ на: комментарий от Kaschenko

То есть красноглазые упражнения в линаксовой консольке ок, а павершелл это complete idiocy? гг

Какая связь между настройкой обратной записи и линуксовой консолью?

Deleted
()
Ответ на: комментарий от Deleted

Пошел седьмой месяц «working on it».

К сожалению, это норма.

А есть ли смысл использовать для линукс-хостинга сервисы от MS?

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

А есть ли смысл использовать для линукс-хостинга сервисы от MS?

Заказчик пришел с готовой инфраструктурой на ажуре

Deleted
()
Ответ на: комментарий от Deleted

А, я понял, это тред ненависти :)

Кстати, а сколько саппорт стоит? Можно им дать $10 чтобы они зону поправили?

true_admin ★★★★★
()
Ответ на: комментарий от Deleted

Hi, this isn't supported right now

Ха! Я угадал :D

(на фирме тоже хотели использовать это говно и тоже что-то не работало и получили подобный ответ)

invy ★★★★★
()
Ответ на: комментарий от Kaschenko

Действительно кукаретик

df -h

vs

function Get-DiskFree
{
    [CmdletBinding()]
    param 
    (
        [Parameter(Position=0,
                   ValueFromPipeline=$true,
                   ValueFromPipelineByPropertyName=$true)]
        [Alias('hostname')]
        [Alias('cn')]
        [string[]]$ComputerName = $env:COMPUTERNAME,
        
        [Parameter(Position=1,
                   Mandatory=$false)]
        [Alias('runas')]
        [System.Management.Automation.Credential()]$Credential =
        [System.Management.Automation.PSCredential]::Empty,
        
        [Parameter(Position=2)]
        [switch]$Format
    )
    
    BEGIN
    {
        function Format-HumanReadable 
        {
            param ($size)
            switch ($size) 
            {
                {$_ -ge 1PB}{"{0:#.#'P'}" -f ($size / 1PB); break}
                {$_ -ge 1TB}{"{0:#.#'T'}" -f ($size / 1TB); break}
                {$_ -ge 1GB}{"{0:#.#'G'}" -f ($size / 1GB); break}
                {$_ -ge 1MB}{"{0:#.#'M'}" -f ($size / 1MB); break}
                {$_ -ge 1KB}{"{0:#'K'}" -f ($size / 1KB); break}
                default {"{0}" -f ($size) + "B"}
            }
        }
        
        $wmiq = 'SELECT * FROM Win32_LogicalDisk WHERE Size != Null AND DriveType >= 2'
    }
    
    PROCESS
    {
        foreach ($computer in $ComputerName)
        {
            try
            {
                if ($computer -eq $env:COMPUTERNAME)
                {
                    $disks = Get-WmiObject -Query $wmiq `
                             -ComputerName $computer -ErrorAction Stop
                }
                else
                {
                    $disks = Get-WmiObject -Query $wmiq `
                             -ComputerName $computer -Credential $Credential `
                             -ErrorAction Stop
                }
                
                if ($Format)
                {
                    # Create array for $disk objects and then populate
                    $diskarray = @()
                    $disks | ForEach-Object { $diskarray += $_ }
                    
                    $diskarray | Select-Object @{n='Name';e={$_.SystemName}}, 
                        @{n='Vol';e={$_.DeviceID}},
                        @{n='Size';e={Format-HumanReadable $_.Size}},
                        @{n='Used';e={Format-HumanReadable `
                        (($_.Size)-($_.FreeSpace))}},
                        @{n='Avail';e={Format-HumanReadable $_.FreeSpace}},
                        @{n='Use%';e={[int](((($_.Size)-($_.FreeSpace))`
                        /($_.Size) * 100))}},
                        @{n='FS';e={$_.FileSystem}},
                        @{n='Type';e={$_.Description}}
                }
                else 
                {
                    foreach ($disk in $disks)
                    {
                        $diskprops = @{'Volume'=$disk.DeviceID;
                                   'Size'=$disk.Size;
                                   'Used'=($disk.Size - $disk.FreeSpace);
                                   'Available'=$disk.FreeSpace;
                                   'FileSystem'=$disk.FileSystem;
                                   'Type'=$disk.Description
                                   'Computer'=$disk.SystemName;}
                    
                        # Create custom PS object and apply type
                        $diskobj = New-Object -TypeName PSObject `
                                   -Property $diskprops
                        $diskobj.PSObject.TypeNames.Insert(0,'BinaryNature.DiskFree')
                    
                        Write-Output $diskobj
                    }
                }
            }
            catch 
            {
                # Check for common DCOM errors and display "friendly" output
                switch ($_)
                {
                    { $_.Exception.ErrorCode -eq 0x800706ba } `
                        { $err = 'Unavailable (Host Offline or Firewall)'; 
                            break; }
                    { $_.CategoryInfo.Reason -eq 'UnauthorizedAccessException' } `
                        { $err = 'Access denied (Check User Permissions)'; 
                            break; }
                    default { $err = $_.Exception.Message }
                }
                Write-Warning "$computer - $err"
            } 
        }
    }
    
    END {}
}
steemandlinux ★★★★★
()
Ответ на: Действительно кукаретик от steemandlinux

'SELECT * FROM Win32_LogicalDisk WHERE Size != Null AND DriveType >= 2'

Вот это весь код который достаёт данные, остальное тупо форматирование и обработка ошибок. На баше такоё займёт больше. А вот сколько кода ушло на df: https://github.com/wangshijun/cs50/blob/master/linux-core-utils-7.4/df.c

Я понимаю что MS это ось зла и всё такое, но у powershell есть много интересных фишек и на нём можно писать приложения.

true_admin ★★★★★
()
Ответ на: комментарий от steemandlinux

Ты сам привёл аналог df. Вызывается эта функция так же, одной командой. Теперь посчитай количество строк в самом df, и покажи аналог на баше, кукаретик (с)

Kaschenko
()
Ответ на: комментарий от Kaschenko

Нет ты.

Вот у меня рандомный десктопный/серверный линукс. Мне надо посмотреть примонтированные разделы. Я просто наберу df -h и все.

А теперь сделай мне это в венде.

steemandlinux ★★★★★
()
Ответ на: комментарий от Kaschenko

Вот у меня рандомный десктопный/серверный линукс

Что же ты какой упоротый. Я тебе что в каждый powershell грущить этот код? Ты в курсе что там абсолютно со всем такой звиздец творится, а df это просто пример?

Я делал рекурсивный проход по ФС, так это оказалось сделать проще на winapi, чем мучаться со сверхмедленным и текущим PS.

steemandlinux ★★★★★
()
Последнее исправление: steemandlinux (всего исправлений: 1)
Ответ на: комментарий от steemandlinux

Выдаст ошибку от одной строки.

Ну добавь Get-WmiObject -Query в начале.

Хотя, щас вот потрогал этот powershell, мне он как-то не нравилось.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Там даже отступы нестабильные! Как таким говнищем пользоваться?

steemandlinux ★★★★★
()
Ответ на: комментарий от Kaschenko

Но зачем? Мне не простой проход нужен был, а с передачей аргумента. Тем более на powershell я не стал доделывать, он тормоз.

steemandlinux ★★★★★
()
Последнее исправление: steemandlinux (всего исправлений: 1)
Ответ на: комментарий от steemandlinux

Чтобы удостовериться что ты это делал, естественно.

Kaschenko
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.