Лучший отвечающий
user.id powershell

Вопрос
-
привет.
как получить user.id через powershell ?
с с# можно например так :
static void Main(string[] args) { SPSite MySite = new SPSite("http://Localhost/Service"); SPWeb web = MySite.OpenWeb(); String[] a = new String[] { "olga.sergeeva@mycompany.ru", }; foreach (string e in a) { SPUser user = web.AllUsers.GetByEmail(e); //4017 // string name = user.LoginName; int b = user.ID; Console.WriteLine(name); Console.WriteLine(b); } Console.ReadKey(); }
спасибо !10 июля 2012 г. 6:06
Ответы
-
Точно также и будет:
$web = Get-SPWeb http://localhost/service/ $a = @('olga.sergeeva@mycompany.ru') foreach ($e in $a) { $user = $web.AllUsers.GetByEmail($e) $id = $user.ID $user.Name $id }
Вообще можете использовать Converting C# to PowerShellMy contributions: SharePoint 2010 Solution Installer
- Предложено в качестве ответа Лукин Андрей Александрович 10 июля 2012 г. 8:47
- Помечено в качестве ответа Roman Zhukov 17 июля 2012 г. 10:56
10 июля 2012 г. 7:17 -
## .\SharePoint_Users_Read.ps1 "http://some.urlname.com/" "User Information List" "" ## .\SharePoint_Users_Read.ps1 "http://some.urlname.com/" "User Information List" "user, someone" param( [string] $rqurdstrPath = $(Throw "--SharePoint Core Path required."), #required parameter [string] $rqurdstrListName = $(Throw "--SharePoint List Name required."), #required parameter [string] $strTargetUser = "" #non-required user name for ID Return ) Write-Host "Beginning Processing--`n" ## Global Variables ## $strUserIDReturn = "" write-host "rqurdstrPath: $rqurdstrPath " write-host "rqurdstrListName: $rqurdstrListName " ## Load SharePoint .NET Libraries ## [void][System.reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") $site = new-object Microsoft.SharePoint.SPSite($rqurdstrPath) $userlist = $site.RootWeb.Lists[$rqurdstrListName] write-host "site: $site " write-host "userlist: $userlist`n" # Print the ID and Title of each list item #$userlist.Items | Format-List -property ID, Title if($strTargetUser -eq "") { Write-Host "--Displaying all Portal Users" foreach($strItem in $userlist.Items) { [string]$strItem.ID + "--"+$strItem.Title } } else { write-host "--Targeting specific user to return ID" $intUserIDReturn = -1 foreach($strItem in $userlist.Items) { $intUserID=[int]$strItem.ID $strUserName=$strItem.Title if($strUserName -eq $strTargetUser) { $intUserIDReturn = $intUserID break; } } $intUserIDReturn } ## NOTE: don't forget to dispose your .NET objects! ## $site.RootWeb.Dispose() $site.Dispose() ## End Processing ## Write-Host "`nEnd Processing--`n"
Using PowerShell to access SharePoint Sites, Users, and Groups
- Изменено Victor Khazanov 10 июля 2012 г. 7:21
- Помечено в качестве ответа Roman Zhukov 17 июля 2012 г. 10:57
10 июля 2012 г. 7:20
Все ответы
-
Точно также и будет:
$web = Get-SPWeb http://localhost/service/ $a = @('olga.sergeeva@mycompany.ru') foreach ($e in $a) { $user = $web.AllUsers.GetByEmail($e) $id = $user.ID $user.Name $id }
Вообще можете использовать Converting C# to PowerShellMy contributions: SharePoint 2010 Solution Installer
- Предложено в качестве ответа Лукин Андрей Александрович 10 июля 2012 г. 8:47
- Помечено в качестве ответа Roman Zhukov 17 июля 2012 г. 10:56
10 июля 2012 г. 7:17 -
## .\SharePoint_Users_Read.ps1 "http://some.urlname.com/" "User Information List" "" ## .\SharePoint_Users_Read.ps1 "http://some.urlname.com/" "User Information List" "user, someone" param( [string] $rqurdstrPath = $(Throw "--SharePoint Core Path required."), #required parameter [string] $rqurdstrListName = $(Throw "--SharePoint List Name required."), #required parameter [string] $strTargetUser = "" #non-required user name for ID Return ) Write-Host "Beginning Processing--`n" ## Global Variables ## $strUserIDReturn = "" write-host "rqurdstrPath: $rqurdstrPath " write-host "rqurdstrListName: $rqurdstrListName " ## Load SharePoint .NET Libraries ## [void][System.reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") $site = new-object Microsoft.SharePoint.SPSite($rqurdstrPath) $userlist = $site.RootWeb.Lists[$rqurdstrListName] write-host "site: $site " write-host "userlist: $userlist`n" # Print the ID and Title of each list item #$userlist.Items | Format-List -property ID, Title if($strTargetUser -eq "") { Write-Host "--Displaying all Portal Users" foreach($strItem in $userlist.Items) { [string]$strItem.ID + "--"+$strItem.Title } } else { write-host "--Targeting specific user to return ID" $intUserIDReturn = -1 foreach($strItem in $userlist.Items) { $intUserID=[int]$strItem.ID $strUserName=$strItem.Title if($strUserName -eq $strTargetUser) { $intUserIDReturn = $intUserID break; } } $intUserIDReturn } ## NOTE: don't forget to dispose your .NET objects! ## $site.RootWeb.Dispose() $site.Dispose() ## End Processing ## Write-Host "`nEnd Processing--`n"
Using PowerShell to access SharePoint Sites, Users, and Groups
- Изменено Victor Khazanov 10 июля 2012 г. 7:21
- Помечено в качестве ответа Roman Zhukov 17 июля 2012 г. 10:57
10 июля 2012 г. 7:20 -
скачал. net reflector. c codeplex скачал , дополнительные утилиты для рефлектора .
теперь научите им пользоваться :)
рефлектор ведь открывает только сборки , так ?
т.е после f5 я могу юзать рефлектор , какие самые интересные и полезные фичи у рефлектора, которае помогают в разработке sharepoint ?
p.s 1. часто наталкиваюсь на какие-нибудь такие фразы
>> возьмите Reflector, посмотрите как работает SPSecurityTrimmedControl
это как ??
p.s 2. википедию читал :)
в статье предложенной от aviw, коверитруется с# в powershell.
а обратное действие возможно ?
спасибо !
25 июля 2012 г. 8:31 -
Да, рефлектор открывает сборки. Компилируете ваш проект и открываете вашу сборку в рефлекторе.
Чем может помочь... Можете смотреть как сделано что-то в самом SharePoint, что в свою очередь поможет вам, например, сделать похожий функционал (но по своему).
P.S.2 - Да, возможно конечно.
My contributions: SharePoint 2010 Solution Installer
25 июля 2012 г. 9:23 -
>> P.S.2 - Да, возможно конечно
а как ? допустим у меня есть script.ps1 - это ведь не сборка .)
file - open assembly - находил свой срипт - ничего не получилось.
или как ?
25 июля 2012 г. 9:54 -
>> P.S.2 - Да, возможно конечно
а как ? допустим у меня есть script.ps1 - это ведь не сборка .)
file - open assembly - находил свой срипт - ничего не получилось.
или как ?
А нет, чОто я затупил... )
Можно запускать скрипты из кода. А также думаю не трудно перевести скрипт в код вручную, это намного проще чем из кода в скрипт.
My contributions: SharePoint 2010 Solution Installer
25 июля 2012 г. 10:11