Powershell: Pipa keluaran Get-ADUser ke Set-MsolUserLicense

Saya baru mengenal Powershell dan saya terjebak dalam upaya mencari tahu yang satu ini. Kami bermigrasi ke Office 365, dan hal ini memusingkan, belum tentu dari Microsoft atau Penyedia kami, namun kami mendapatkan banyak 'kesenangan' dalam membuat hal ini menguntungkan kami.

Saya memiliki CSV pengguna yang harus saya hapus lisensinya di O365 dari satu produk dan melisensikannya kembali untuk produk lain. Saya mencoba melakukan ini sebagai dua 'satu kalimat' dan saya tersesat. Inilah yang saya miliki sejauh ini:

Import-Csv "C:\Users\myuser\Desktop\convert.csv" | ForEach-Object {Get-ADUser -Identity $_.user | select UserPrincipalName | Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -RemoveLicenses "mycorp:ENTERPRISEDESKLESS"}

CSV memiliki header 'pengguna' dan beberapa catatan pengguna hanya sebagai nama akun mereka. Jika saya memeriksa perintah hingga keluaran fungsi Pilih, semuanya berfungsi dengan benar, penyaluran keluaran tersebut ke Set-MsolUserLicense yang tidak berfungsi.


person Andrew    schedule 27.04.2016    source sumber


Jawaban (1)


Saya tidak punya cara untuk mengujinya saat ini tetapi seharusnya berfungsi seperti ini

Import-Csv "C:\Users\myuser\Desktop\convert.csv" | ForEach-Object {Get-ADUser -Identity $_.user | Set-MsolUserLicense -RemoveLicenses "mycorp:ENTERPRISEDESKLESS"}

Sesuai informasi bantuan untuk Set-MsolUserLicense

-UserPrincipalName <string>
    The user ID of the user to update.

    Required?                    true
    Position?                    named
    Default value                
    Accept pipeline input?       true (ByPropertyName)
    Accept wildcard characters?  false

Parameter UserPrincipalName menerima masukan dari pipa dan ByPropertyName, jadi karena Get-ADUser akan memberikan properti nama tersebut untuk Anda saat Anda menyalurkannya ke Set-MsolUserLicense, parameter tersebut seharusnya dapat secara otomatis menggunakan nilai yang benar.

person Martin Lhotsky    schedule 27.04.2016
comment
Tampaknya itu berhasil. Saya terus melihat kesalahan tentang lisensi yang tidak valid, namun tampaknya tetap melakukan perubahan. Terima kasih! - person Andrew; 28.04.2016