2017年2月16日木曜日

テスト

 

001
002
003
004
005
006
007

$encoding = [Text.Encoding]::default 
$text = 
[System.IO.File]::ReadAllText("d:\desktop\HelpDesk.csv",$encoding)
$text = $text.Replace("`n?","") 
$text = $text.Replace("?","") 
$text.Replace('?"','"') | 
Out-File "d:\desktop\help.csv" -Encoding default

2017年2月14日火曜日

◆ActiveDirectoryユーザーグループにメンバー(グループ)を追加


アクセス権を付けるには通常ローカルグループにグローバルグループを突っ込んであげる。

追加するグループを選ぶ時にActiveDirectoryの検索画面を使うのだが、今ひとつ使い勝手が良くない。
(部分一致検索が出来ないのでグループ名の名前を正確に覚えている必要がある。)

そこでローカルグループを抽出しGridViewに表示して対象を選択。
グローバルグループをGridViewに表示して追加先を選択。
ローカルグループにグローバルグループを追加。

と言った簡単なスクリプトにしてみた。

特に難しいところは無いのだが、「Add-ADGroupMember」の「Identity」パラーメータに抽出したグループを直接指定するとエラーになってしまった。

定義は
-Identity ADGroup
       An Active Directory group object by providing one of the following values.
       (The identifier in parentheses is the LDAP display name for the attribute.)

とあるのでそのまま指定できそうだが・・・。
(select しているのが良くないのか)

時間がなかったのでとりあえずNameプロパティを指定した。
最近全くPowerShellを使っていなかったので使い方をすっかり忘れてしまった・・・。(><)

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
$target_FileAccess_G = $null

$target_FileAccess_G
 =
    Get-ADGroup -Filter "Name -like 'Hoge*FileAccess-G'" |
 
       
select name |
        sort name |
 
       
Out-GridView -title "Select Target FileAccess Group" 
-PassThru

if
($target_FileAccess_G
){
   
$target_UserGroup =
 
   
Get-ADGroup -Filte * -SearchBase "OU=Groups,DC=city,DC=London,DC=gov,DC=uk" |
        select name |
 
       
Out-GridView -title "Select Add Group" -PassThru

    if($target_UserGroup
){
       
Add-ADGroupMember -Identity $target_FileAccess_G.Name -Member $target_UserGroup.
Name 
       
if($?){"Complete"}
    }
}

2016年11月10日木曜日

◆自分が所属するグループをリストする

Getting List of Current Group Memberships - Power Tips - PowerTips - IDERA Community

#requires -Version 3.0
[System.Security.Principal.WindowsIdentity]::GetCurrent().Groups.Value

上記で自分が所属するグループのSIDが表示される
image_thumb[1] 

名称変換も加えたのが以下

#requires -Version 3.0
[System.Security.Principal.WindowsIdentity]::GetCurrent().Groups.Translate( [System.Security.Principal.NTAccount])

image

ActiveDirectoryのモジュールは不要。
「CONSOLE LOGON」のような動的?なグループも含めてすべて表示されるようだ。

2016年11月7日月曜日

◆IPアドレスのロケーションを表示

http://community.idera.com/powershell/powertips/b/tips/posts/finding-location-of-ip-address

 

001
002
003
004
005
006
007
008
009
010

#requires -Version 3.0

function Get-IPLocation([Parameter(Mandatory)]$IPAddress
)
{

    $geoip = "http://geoip.nekudo.com/api/$IPAddress"
    Invoke-RestMethod -Method Get -Uri $geoip |
      Select-Object -ExpandProperty Country -Property City, IP, Location
 
}


Get-IPLocation -IPAddress 8.8.8.8

image

Restが簡単に使えますってサンプルかな。
個人的には、ロケーションを調べることは無いと思うがこのメソッドは覚えておきたい。

あと、以前はExpandPropertyとPropertyは共存できなかったと記憶しているが、できるようになってるんですね。

3.0から?

◆DHCPで設定されたアドレスを取得する

>Get-NetIPAddress | ? PrefixOrigin –eq DHCP | % IPAddress

2016年10月28日金曜日

◆スタート画面のカスタマイズ

スタート画面のタイルをエクスポート、インポートできるらしい。

>Export-StartLayout -Path ファイルパス
>Import-StartLayout -LayoutPath ファイルパス -MountPath C:¥

ただし反映されるのは、この処理を行った後に追加したユーザーとの事なので、バックアップとかの用途ではなく、初期展開などの用途でしょうか。

2016年8月31日水曜日

◆ストアアプリの削除方法

ストアアプリはプログラムの追加と削除からではなくPowerShellでやる必要があるのだとか。(GUIを提供しないのは手抜き?)

http://answers.microsoft.com/ja-jp/windows/wiki/apps_windows_10-outlook_mail/windows-10/239ef7e9-9f4f-40dc-bf41-2cd2b8217843