Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789

Использования цикла do while в функции в Powershell

07.09.2017, 17:27. Показов 2988. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Смысл скрипта, чтобы он наполнял некий файл строчками с данными, но наполнял до тех пор пока пользователь не скажет нет.
Я попробывал реализовать это через цикл do while не получилось.
Подскажите пожайлуста как реализовать данную задачу.
Это всего лишь пример, на котором хочу построить скрипт, который автоматически создаст файл CSV, чтобы с помощью

Csvde можно было автоматически наполнить Active Directory пользователями, а не вводить вручную 100 имен.

Кликните здесь для просмотра всего текста
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# Создаем текст
 
# `t - знак табуляции (несколько символов пробел)
# `b - символ backspace (удаление предыдущего символа)
# `n - символо перевода строки
 
# Создадим функцию паузы
 
function WaitEvent {
                    Wait-Event -Timeout 7
                   }
 
function banner {
Write-host *****************************************************************************************************************
                }
 
 
# Создадим функцию оформление заголовка
 
Function get-title  {
 [CmdletBinding()] 
   param (
         [parameter(mandatory=$false,
                 ValueFromPipeline=$true
                   )
         ]
         [string]$title
        
 
# функция позволяет оформлять заголовки в сценарии, на основе аргумент в виде переменной,
# в которых уже определено содержание заголовка
# значение для переменнйо передается по конвейру, о чем 
# аргумент - ValueFromPipeline=$true -
         )
  banner
  write-host $title -ForegroundColor Yellow  -BackgroundColor DarkMagenta
  banner
  
 
 }
 
 
get-title  Привет
 
function WaitEvent {
                    Wait-Event -Timeout 7
                   }
 
get-title  "Будьте здоровы"
 
$global:name = $(read-host "Введите значение переменной 'name', `
                               в которой содержатся данные для добавления в объект")      
$global:Value = $(read-host "Введите значение переменной 'Value', `
                                в которой содержатся данные для добавления в объект")  
 
 
function multistring {
$multistring = @"
$name
$Value
"@
$multistring | out-file -Append  e:\test.txt
}
 
 
function create {
 
        while ($n -eq 1)
          {
          $global:n = $(read-host "Введите значение" )
            multistring
           #$n = 0
            }    
 
# модификатор 'global' - позволяет использовать значение переменной за пределами этой функции
 
       }
 
 
 
 
create
Миниатюры
Использования цикла do while в функции в Powershell  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.09.2017, 17:27
Ответы с готовыми решениями:

PowerShell, в чем преимущества использования?
собственно не совсем понимаю как с ним работать и что он может... чем отличается от обычной командной строки и прочее... хотелось бы...

Организация цикла без использования оператора цикла
Вычислить значение функции:F=система из 3-х уравнений...1 ур-ие:2*a*Y, при Y>0..2 ур-ие:0,3*10^1.5*(a*sinY/1+a^2), при Y<=-2..третье...

Целесообразность использования цикла.
Этот момент в универе нам не объясняли. Хочу сразу сказать, я знаю зачем, как и когда используются циклы. Собственно возник не большой...

3
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
07.09.2017, 18:08
Цитата Сообщение от masli Посмотреть сообщение
Смысл скрипта, чтобы он наполнял некий файл строчками с данными, но наполнял до тех пор пока пользователь не скажет нет.
Я попробывал реализовать это через цикл do while не получилось.
Цитата Сообщение от masli Посмотреть сообщение
Это всего лишь пример, на котором хочу построить скрипт, который автоматически создаст файл CSV, чтобы с помощью
Csvde можно было автоматически наполнить Active Directory пользователями, а не вводить вручную 100 имен.
Если собираетесь создавать пользователей на основе данных из csv-файла, то зачем вам интерактивное взаимодействие с каким-то оператором? Для такого скрипта достаточно foreach и import-csv, примерно так:

PowerShell
1
ForEach ($user in import-csv c:\data\users.scv) {New-ADUser -Name $user.name -SamAccountName $user.SamAccountName}
Думаю, что на форуме поискать и будет полно тем про создание AD-пользователей из списка...
0
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
11.09.2017, 13:55  [ТС]
Цитата Сообщение от KDE777 Посмотреть сообщение
Если собираетесь создавать пользователей на основе данных из csv-файла, то зачем вам интерактивное взаимодействие с каким-то оператором? Для такого скрипта достаточно foreach и import-csv, примерно так:
Да я возможно воспользуюсь ForEach, но только для того чтобы обработать список пользователей, сохраненный в формате в формате Excel.

Часть атрибутов я просто составлю в Excel и затем произведу экспорт в *.csv.
Затруднения вызывают только вот такие заголовки

"CN=Александр Пушкин,OU=Admin,OU=domainadmin,DC=bvs,DC =local"
Для них нужно будет делать скрипт который автоматически создаст эти строки на основе списка имен этих атрибутов, чтобы все равно их потом скопировать в exel и затем все вместе перенести в *.csv.

На windows server 2003 powershell отсутствует и использоваться для этого не будет, поэтому и использую утилиту Csvde .
А вот файл *.csv подготавливается на отдельной машине с помощью Powershell.

В Powershell не силен, и долго не пользовался.

Цитата Сообщение от KDE777 Посмотреть сообщение
то зачем вам интерактивное взаимодействие с каким-то оператором
вы правы, я не подумал, что удобнее использовать готовый список в Excel, но только, чтобы автоматизировать создание столбца атрибута DN формата

"CN=Александр Пушкин,OU=Admin,OU=domainadmin,DC=bvs,DC =local"
и все равно мне придется готовый excel файл перевести в формат *.csv, а импорт в AD уже сделает утилита Csvde .
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
11.09.2017, 14:51
Лучший ответ Сообщение было отмечено masli как решение

Решение

Цитата Сообщение от masli Посмотреть сообщение
На windows server 2003 powershell отсутствует и использоваться для этого не будет, поэтому и использую утилиту Csvde .
А вот файл *.csv подготавливается на отдельной машине с помощью Powershell.
Вот так же, с отдельной машины (например с Win7), можно использовать AD-командлеты для администрирования 2003 AD

Цитата Сообщение от masli Посмотреть сообщение
Часть атрибутов я просто составлю в Excel и затем произведу экспорт в *.csv.
Затруднения вызывают только вот такие заголовки
"CN=Александр Пушкин,OU=Admin,OU=domainadmin,DC=bvs,DC =local"
Цитата Сообщение от masli Посмотреть сообщение
удобнее использовать готовый список в Excel, но только, чтобы автоматизировать создание столбца атрибута DN формата
"CN=Александр Пушкин,OU=Admin,OU=domainadmin,DC=bvs,DC =local"
Используя New-ADUser, distinguishedName для новой УЗ указывать не нужно...

Цитата Сообщение от masli Посмотреть сообщение
а импорт в AD уже сделает утилита Csvde
Очень советую вместо Csvde попробовать всё-таки использовать Active Directory Cmdlets
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.09.2017, 14:51
Помогаю со студенческими работами здесь

Преобразовать код без использования цикла
Как выполнить такое преобразование без использования цикла? С применение функций или рекурсии. A = B = for i in...

Вычислить факториал без использования цикла
Напишите программу вычисления факториала без применения операторов цикла. (использовать условный оператор и оператор безусловного перехода).

Переписать код без использования цикла
Sub ex3() Dim sNum As String, i As Integer, j As Integer, otvet As Boolean sNum = InputBox("Введите число:") For i = 1 To...

Шейкерная сортировка без использования while цикла
Ребят, сделал шейкерную сортировку через два вложенных цикла - не работает. Не могу понять в чем проблема, подскажите пожалуйста. ...

Написать программу с использования цикла и рандом
Здраствуйте, пожалуйста прошу вашей помощи.. Нужно написать программу которая в цикле перебирает без повторения все случайные числа в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru